Skip to content

V0.2.0

Choose a tag to compare

@spatulari spatulari released this 14 Jul 19:19
· 259 commits to main since this release

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

  • loop statements
  • stop statements
  • 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.