tj/luna
Freeluna programming language - a small, elegant VM implemented in C
About tj/luna
Luna is an expressive, minimalistic, elegant programming language implemented in C. It features cooperative thread concurrency at its core, async I/O, and draws influences from Lua, io, Rust, Ruby, and C. The language prioritizes unification and minimalism over obscure conveniences, omitting features like getters/setters and method_missing-style delegation. It is statically typed with type inference, and offers method syntactic sugar for readability. Planned capabilities include multiple dispatch (function overloading). Currently, Luna only parses code and builds an AST; it does not yet execute code. The project is archived and read-only as of May 2018, representing an early exploration of VM design.
Key Features
Pros & Cons
- Expressive and minimalistic syntax
- Small and clean codebase for easy understanding
- Influences from multiple well-designed languages
- Planned multiple dispatch reduces verbosity
- Method syntactic sugar improves readability
- Statically typed with optional type annotations
- Archived and no longer maintained
- Incomplete: only parses code, does not execute
- No garbage collection, continuations, or optimizations yet
- Closures and portability not implemented
- Not production-ready; experimental only