No description
Find a file
2026-03-22 13:34:35 +03:00
apps/interpreter Improve interpreter input handling 2026-03-18 18:48:01 +03:00
examples Fix compilation to IR, in particular initializing a variable with a copy of another variable 2026-03-19 15:05:08 +03:00
libs Struct types refactor v2: store AST node pointer in struct type 2026-03-22 13:34:35 +03:00
CMakeLists.txt First common arch-independent IR prototype (no structs or arrays yet) 2026-03-18 18:35:47 +03:00
plans.txt Replace some usages of ostringstream with std::format 2026-03-22 12:51:38 +03:00
readme.md Add readme and tweak spec 2026-03-22 13:00:41 +03:00
spec.txt Add readme and tweak spec 2026-03-22 13:00:41 +03:00

This is the repository of an experimental toy programming language.

It is a statically & strictly-typed, imperative, eager-evaluated, low-level language, that should be efficient, simple but effective to use, and allow seamless C FFI.

What is currently done:

  • Part of the base specification (see spec.txt)
  • Bison-generated parser into AST
  • Custom non-SSA IR
  • Part of the AST -> IR compiler
  • Aarch64 JIT compiler (independent from IR for now)
  • Tree-walking interpreter (partially broken)

The project is currently in early stages and in active development. Inspecting its code might prove counter-productive; forking it is absolutely unnecessary.