A maintenance release improving compiler diagnostics and refining type semantics.
What's New
Improved Error Messages
The compiler now provides detailed, actionable error messages with source context:
error: could not compile due to 2 previous errors
error[TypeError]: Array types must declare a size, expected ';' after element type
--> tests/test.lx:3:27
|
3 | pub const foo -> fn () [int] {
| ^ Parser Error
|
error[TypeError]: Expected return type after function parameters
--> tests/test.lx:3:27
|
3 | pub const foo -> fn () [int] {
| ^ Parser Error
|
Improvements:
- Error counts showing total issues before compilation fails
- Categorized errors (TypeError, SyntaxError, etc.)
- Visual indicators pointing to exact problem locations
- Clear messages explaining what was expected
Type Refinement: char → byte
The char type has been renamed to byte for clarity:
// Before
let c: char = 'A';
let buffer: *char = alloc(256);
// Now
let c: byte = 'A';
let buffer: *byte = alloc(256);
This better represents 8-bit values and aligns with systems programming conventions.
Breaking Changes
char renamed to byte - Update all occurrences in your code:
# Quick migration
find . -name "*.lx" -exec sed -i 's/\bchar\b/byte/g' {} +Standard Library
All standard library modules updated to use byte:
string.lx- String functions use*bytememory.lx- Memory operations updatedsys.lx- System calls use*bytefor buffersio.lx- I/O functions adapted
Installation
Pre-built:
From source:
git clone https://github.com/Luma-Programming-Language/Luma.git
cd luma
git checkout v0.1.2
make
sudo ./install.shCommunity
- Issues: https://github.com/Luma-Programming-Language/Luma/issues
- Discord: https://discord.gg/gqnwasvqd9
Made with care by the Luma Team
GitHub: Luma-Programming-Language/Luma