Skip to content

Release for 0.1.0

Choose a tag to compare

@keizer619 keizer619 released this 30 Jan 09:30
· 310 commits to main since this release
090db96

Milestone 1 Release: Ballerina Native Interpreter

We're excited to announce Milestone 1! The native interpreter is now operational with a compilation and execution pipeline for Subset 1 of the Ballerina language.

What's Included

  • Core Language Features: integers, booleans, functions, control flow (if-else), loops (while, break, continue), nil type, and I/O
  • Complete Pipeline: parser → AST → BIR → runtime execution
  • CLI Tool: command-line interface for building and running Ballerina programs

Getting Started

Download the release zip and run Ballerina programs:

Unix/Linux/macOS:

./bal run <file.bal>

Windows:

bal.exe run <file.bal>

Example Program

Here's a complete example demonstrating loops, conditionals, function calls, boolean logic, and I/O operations:

import ballerina/io;

public function main() {
    int n = 50;
    int i = 0;
    while (i < n) {
        io:println("F(", i, ") = ", fibonacci(i));
        i += 1;
    }
}

function fibonacci(int n) returns int {
    if (n <= 1) {
        return n;
    }
    int prev = 0;
    int curr = 1;
    int i = 2;
    while (i <= n) {
        int next = prev + curr;
        prev = curr;
        curr = next;
        i += 1;
    }
    return curr;
}

Resources

New Contributors

Full Changelog: https://github.com/ballerina-platform/ballerina-lang-go/commits/v0.1.0