Nal - Your daily programming language
Note: This repository is under heavy development. Do not use this in any serious project.
- Asynchronous without hassle
- Type safe without verbosity
- Structural typing FTW
- Simple function that accepts source code and execute it
- Web playground that can execute
Nal
code and show its output
- Api stability
- Any syntactic sugar
- Static type checker
- User-friendly documentations
nal_ast
: Abstract Syntax Tree structure for source code.nal_ir
: Intermediate Representation as a desugared control flow semantics.nalc_parser
: Parser that produces AST from source code.nalc_atoi
: Converta
stto
i
r.nali
: IR interpreter with dynamic type check.
- Algebraic data types
- Type notation and static type checker with inference
- Compile to binary with LLVM
- Compile-time reflection
- Isomorphic metaprogramming
- Coroutine/Generator
- Fiber based goroutine-like runtime
- Async, lock-free IO with future API
- Safe Rust FFI
- Runtime code replacement
This repository is dual-licensed under the MIT license and Apache license 2.0 at your option. By contributing to Nal you agree that your contributions will be licensed under these two licenses.