Yo is a compiled programming language with strong static typing

#[extern] fn puts(*i8) -> i32;

fn main() -> i32 {
    puts(b"Hello World!");
    return 0;
}

Learn more

Usage

Building Yo

$ git clone https://github.com/lukaskollmer/yo && cd yo
$ cmake . && make

Build requirements:

Command Line Options

OVERVIEW: The Yo Programming Language v0.0.1

USAGE: yo [options] <input file>

OPTIONS:

General Options:

  -O                  - Enable Optimizations
  -dump-llvm          - Dump LLVM IR
  -dump-llvm-pre-opt  - Dump LLVM IR prior to running optimizations
  -emit               - Output format(s)
    =asm              -   Assembly
    =llvm-ir          -   LLVM IR
    =bin              -   Binary
    =obj              -   Object File
    =none             -   None
  -g                  - Emit debug metadata
  -print-ast          - Print the Abstract Syntax Tree
  -pygmentize         - Lex input, then print pygmentized HTML to stdout
  -run                - Run the generated executable after codegen. Implies `--emit bin`
  -run-args=<string>  - Argv to be used when executing the produced binary. Implies `-run`
  -stdlib-root=<path> - Load stdlib modules from <path>, instead of using the bundled ones

Generic Options:

  -help               - Display available options (-help-hidden for more)
  -help-list          - Display list of available options (-help-list-hidden for more)
  -version            - Display the version of this program

Useful options inherited from LLVM