V0.2.0
Azin 0.2.0 π
The second public preview release of Azin is here!
This release expands the language with control flow, recursion, mutable variables, assignments, and major improvements throughout the compiler.
Highlights
loopstatementsstopstatements- Variable assignment
- Mutable variables (
var mut) - Recursive function calls
- Function return type inference
- Improved parser
- Improved semantic analysis
- Better compiler diagnostics
- Numerous bug fixes and stability improvements
Example
importc "stdio"
fn fibonacci(n: int) do
if n <= 1 then
return n
end
return fibonacci(n - 1) + fibonacci(n - 2)
end
fn main: int do
var mut i = 0
loop
printf("%d\n", fibonacci(i))
if i == 10 then
stop
end
i = i + 1
end
return 0
end
Downloads
Choose the appropriate archive for your platform from the release assets below.
Notes
This is still a preview release.
The language and compiler are under active development, and breaking changes may occur before the 1.0 release.
What's Next?
Future releases will focus on:
- Enums
- Modules
- A standard library (basic)
- Pattern matching
- More optimizations
- Improved diagnostics
- Language Server Protocol (LSP)
- Additional editor integrations
This version was more of an "emergency" one, to make it actually kind of usable. We will take our time with 0.3.0.
Thanks to everyone testing, contributing to, and following the Azin project.