Skip to content

Commit 159c8fc

Browse files
author
TheDevConnor
committed
Updated for release v0.1.2
1 parent 7163055 commit 159c8fc

File tree

4 files changed

+91
-3
lines changed

4 files changed

+91
-3
lines changed
466 KB
Binary file not shown.
46.3 MB
Binary file not shown.

releases/v0-1-2/v0-1-2.md

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
# Luma v0.1.2 - Enhanced Error Reporting
2+
3+
A maintenance release improving compiler diagnostics and refining type semantics.
4+
5+
## What's New
6+
7+
### Improved Error Messages
8+
9+
The compiler now provides detailed, actionable error messages with source context:
10+
```
11+
error: could not compile due to 2 previous errors
12+
13+
error[TypeError]: Array types must declare a size, expected ';' after element type
14+
--> tests/test.lx:3:27
15+
|
16+
3 | pub const foo -> fn () [int] {
17+
| ^ Parser Error
18+
|
19+
20+
error[TypeError]: Expected return type after function parameters
21+
--> tests/test.lx:3:27
22+
|
23+
3 | pub const foo -> fn () [int] {
24+
| ^ Parser Error
25+
|
26+
```
27+
28+
**Improvements:**
29+
- Error counts showing total issues before compilation fails
30+
- Categorized errors (TypeError, SyntaxError, etc.)
31+
- Visual indicators pointing to exact problem locations
32+
- Clear messages explaining what was expected
33+
34+
### Type Refinement: `char``byte`
35+
36+
The `char` type has been renamed to **`byte`** for clarity:
37+
```luma
38+
// Before
39+
let c: char = 'A';
40+
let buffer: *char = alloc(256);
41+
42+
// Now
43+
let c: byte = 'A';
44+
let buffer: *byte = alloc(256);
45+
```
46+
47+
This better represents 8-bit values and aligns with systems programming conventions.
48+
49+
## Breaking Changes
50+
51+
⚠️ **`char` renamed to `byte`** - Update all occurrences in your code:
52+
```bash
53+
# Quick migration
54+
find . -name "*.lx" -exec sed -i 's/\bchar\b/byte/g' {} +
55+
```
56+
57+
## Standard Library
58+
59+
All standard library modules updated to use `byte`:
60+
- `string.lx` - String functions use `*byte`
61+
- `memory.lx` - Memory operations updated
62+
- `sys.lx` - System calls use `*byte` for buffers
63+
- `io.lx` - I/O functions adapted
64+
65+
## Installation
66+
67+
**Pre-built:**
68+
- [Linux x86_64](https://github.com/Luma-Programming-Language/Luma/releases/download/v0.1.2/luma-linux-x86_64)
69+
- [Windows x86_64](https://github.com/Luma-Programming-Language/Luma/releases/download/v0.1.2/luma-windows-x86_64.exe)
70+
71+
**From source:**
72+
```bash
73+
git clone https://github.com/Luma-Programming-Language/Luma.git
74+
cd luma
75+
git checkout v0.1.2
76+
make
77+
sudo ./install.sh
78+
```
79+
80+
## Community
81+
82+
- **Issues:** https://github.com/Luma-Programming-Language/Luma/issues
83+
- **Discord:** https://discord.gg/gqnwasvqd9
84+
85+
---
86+
87+
Made with care by the Luma Team
88+
GitHub: [Luma-Programming-Language/Luma](https://github.com/Luma-Programming-Language/Luma)

tests/test.lx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
@module "main"
22

3-
// pub const foo -> fn () [int] {
4-
// return [];
5-
// }
3+
pub const foo -> fn () [int] {
4+
return [];
5+
}
66

77
pub const main -> fn () int {
88
let x: int = 20;

0 commit comments

Comments
 (0)