Lopolith

A small, statically typed programming language.

Lopolith is compiled to portable bytecode, runs on a compact register VM, and is designed to be embedded: one process hosts an Engine of shared modules and one or more VMs, each with its own heap, while native code extends the language through ordinary shared libraries.

Hello, world

%simple com.example.Hello implements Main
    #import Std
    int run(int argc, String[] argv) Main@run {
        Std.print("Hello, world!\n")
        return 0
    }
Hello, world!
$ make && make libs
$ ./loth run hello.loth
Hello, world!

What is in it

Three tutorials

The documentation is organized as three independent tracks. Each one is a step-by-step tutorial with complete programs that are compiled and run on every change.