A modern, statically typed systems programming language built on LLVM.
Status: Early development. Expect breaking changes.
- LLVM-based compiler
- Written in Rust
- Native module system
- Strong static type system
- Native code generation
import ./othermodule.juno;
fn main() -> i32 {
printf("Hello, World!\n");
othermodule.say_hello("hi");
return 0;
}
Install junocc
cargo install junoccClone the repository:
git clone https://github.com/L0rdCycl0p/JunoLang
cd JunoLangBuild the compiler:
cargo build --releaseRun:
cargo run -- examples/hello.junojunocc <files> -o [output]example:
junocc examples/helloworld.juno examples/library.juno -o program- Lexer
- Parser
- AST
- Semantic analysis
- LLVM code generation
- Basic optimizations
- Structs
- Enums
- Generics
- Trait system
- Standard library
- Package manager
- Language server (LSP)
Juno aims to be a language that feels simple to read while still providing the power expected from a systems programming language.
The project embraces:
- Explicitness over magic
- Fast compilation
- LLVM as the backend
- Compile-time assets
- Clean and readable syntax
This project is licensed under the MPLv2.0 License.
