Skip to content
@ballerina-nutcracker

ballerina-nutcracker

Welcome to Ballerina Nutcracker 👋

Ballerina Nutcracker

A native interpreter for the Ballerina programming language.

Release License

Website  ·  Playground  ·  Interpreter  ·  Language spec  ·  Community


Ballerina is an open-source, cloud-native programming language optimized for integration, with built-in JSON and XML, first-class services and concurrency, and structural typing. It is developed and supported by WSO2 and the Ballerina community.

Ballerina Nutcracker is a Go compiler and interpreter for Ballerina. It compiles source to BIR (Ballerina Intermediate Representation) and runs that BIR from one bal binary — no separate runtime to start — so it stays small and fast for CLIs, functions, and sidecars.

Important

Nutcracker is under active development and does not yet support the whole language. For production use, reach for Ballerina Swan Lake — the official distribution, which supports the full language.

Architecture

Ballerina Nutcracker architecture: the bal CLI (new, run, pack, build, push, version) is the entry point. parser/ produces st/; nodebuilder/ produces ast/. semantics/ resolves types; desugar/ and birgen/ lower to BIR. The runtime interprets BIR. Native stdlib uses extern calls; pure-Ballerina modules run as BIR. PAL is platform/pal; palnative is on the host OS and pal_wasm.go on the browser. Central is for package fetch; bal push writes the local repository.

How the pieces in this diagram map to source is in ARCHITECTURE.md.

Get started

Docs

Contribute

Read the contribution guidelines and the code of conduct. New here? Start with good first issue.

Playground source is ballerina-nutcracker/playground.

Report issues

Community

Questions belong in GitHub Discussions or on Discord. See ballerina.io/community for everything else.

License

Distributed under the Apache License 2.0.

Popular repositories Loading

  1. ballerina ballerina Public

    Native Ballerina Interpreter

    Go 103 22

  2. playground playground Public

    Ballerina playground is a web based tool which allows trying out language features.

    TypeScript 10 4

  3. .github .github Public

    Community health files and GitHub profile for ballerina-nutcracker

    2 1

Repositories

Showing 3 of 3 repositories

Top languages

Loading…

Most used topics

Loading…