This project appears to have gone dormant. It will be removed from the list soon unless new activity is noted.
Systems programming language written in Go and compiles to LLVM IR.

Ark is an open-source systems programming language. The language is written in Go and compiles to LLVM IR. Language Goals

  • Fast
  • Multi-Paradigm
  • Strongly Typed
  • No garbage collection
  • Uses modern language concepts

Our goal is to write a systems programming language that adopts many modern concepts and advancements in the field of compilers and language design over the past 43 years.

Languages such as C and C++ strive for backwards compatibility when adopting new features, including compatibility for flaws in the languages design.

We want to create a modern language that lacks many of the flaws of C and C++ while still being suitable for low-level programming. It also needs to be simple and intuitive enough to be easy to learn, write, read and debug.

[c] func printf(fmt: str, ...);
[c] func rand() -> int;
[c] func srand(i: uint);
[c] func time(ptr: u32) -> u64;
[c] func scanf(fmt: str, ...);

func println(mess: str) => C::printf("%s\n", mess);

func main() -> int {
    println("Higher or lower game, in Ark!");


    num := C::rand() % 100 + 1;

    for {
        println("\nEnter a number between 1 and 100 (inclusive):");
        mut guess: int;
        C::scanf("%d", &guess);

        if guess == num {
            println("You win!");
            return 0;
        } else if guess < num {
            println("Guess higher!");
        } else {
            println("Guess lower!");

    return 0;
Information updated 06/05/17
View Comments