NovaLang is a small, simple programming language built in C++ with its own compiler and virtual machine.
The goal is to keep things easy to understand, hackable, and fun to experiment with.
- Clean, simple syntax, a mix between C# and Python
- Functions, structs, variables
- Control flow:
if,while,for,for in - Lists with basic operations
- Imports (including a small stdlib)
- Runs through a custom VM (fast enough for experimentation)
func main() {
list nums = [1, 2, 3]
nums.push(4)
println(len(nums))
}You can build the project with the README_BUILD.md instructions in the Novalang repository.
./nova your_file.nvnovalang/
├── src/ # all core code (compiler + VM + shell)
├── include/ # all header files (like vm.h)
├── standardlib/ # standard library files
└── src/main.cpp # entry point
- Better error messages
- Improve type system
- Expand standard library
- Better imports / modules
- Performance improvements
- Better memory management
PRs are welcome.
Guidelines:
- Keep code simple and readable
- Don’t over-comment — explain why, not every line
- Stay consistent with existing style
MIT
NovaLang is mainly for:
- Learning how languages work
- Experimenting with ideas
- Building something cool without overengineering
If you like it, give it a star.