Lumina is a spartan C inspired language.
"Lumina" implies illumination and clarity, which can be associated with the purpose of programming languages to make complex tasks more understandable and manageable.
NOTE: The language is unstable and will have breaking changes.
- Clarity and Readability: Lumina prioritizes human-readable code, making it an excellent choice for both beginners and experienced programmers.
- Efficiency: While emphasizing readability, Lumina doesn't compromise on performance. It's designed to be fast and efficient.
- Modern Syntax: Enjoy a clean and modern syntax that reduces boilerplate code and encourages best practices.
- Cross-Platform: Lumina supports Linux for now.
- luminafmt: Code Formatter for
.lum
source files. - lumina-vsc: VS Code syntax highlighting support for
.lum
source files.
./build_lumina.sh release
$ cmake -S . -B build && cmake --build build # Compile lumina executable
$ cd build
$ ./build/lumina main.lum # Compile .lum source file
$ ./out # Run your program
valgrind --track-origins=yes ./lumina test.lum
./build_lumina.sh debug && make valwip && ./out & echo $?
nasm -felf64 test.asm
ld test.o -o test
- Assemble
source.asm
into a binary fileoutput_file
.- If
output_file
is not passed, it is inferred as source.o. -f
and-elf64
. (x64 architecture)
- If
- Link a specific object file with no dependencies into an executable.
test
is the executable.
./test # Run generated executable
echo $? # See exit code