DocsGetting started
Installing Fango.
Choose Nix or a source build, then set up your editor.
You don’t need to install anything to try Fango: the browser playground runs it for you. Install the compiler when you want to work with local files, sockets, native tasks, or standalone executables. Fango is still experimental, so keep the compiler and the standard library on the same version.
Run with Nix.
If you use Nix, this is the quickest way in. The package bundles the compiler, the matching library, and a Go toolchain, so there’s nothing else to set up. To run an existing program:
nix run github:waj/fango -- run main.fango
To start a new project with a development shell:
nix flake init -t github:waj/fango
nix develop
Inside that shell, fango check, fango run, and fango build all work as you’d expect. When you’re ready to write some code, your first program walks you through it.
Build the compiler.
Without Nix, you can build from source. You’ll need Git and Go 1.26, or you can use the checkout’s Nix development shell instead:
git clone https://github.com/waj/fango.git
cd fango
make build
That leaves you with a ./fango executable. To check that it works, run one of the bundled examples:
./fango run examples/guess.fango
Under the hood, the compiler builds your program with Go. It keeps its build output in .fango/ next to the source, so later runs reuse whatever is still valid. If Nix provides your toolchain, run nix develop before building.
Install it.
To put the compiler on your system, run this from the language checkout:
make install
By default it installs under /usr/local: the compiler goes in bin/ and its support files in lib/fango/. If you’d rather not write there, pick a prefix you own:
make install PREFIX="$HOME/.local"
Make sure that prefix’s bin/ is on your PATH. The installed compiler finds its support files relative to its own location, so there’s nothing more to configure. If you ever need to point it at a different library, FANGO_ROOT does that; read about library lookup before you set it.
Editor support.
The language checkout includes a VS Code extension with highlighting, formatting, diagnostics, hover information, definitions, and references. From the checkout root, link it into your extensions directory:
ln -s "$(pwd)/editors/vscode" ~/.vscode/extensions/fango-lang
Then reload VS Code with Developer: Reload Window. The extension runs fango lsp, using a compiler found at the workspace root or on your PATH. If you want a specific executable, set fango.path.
After rebuilding the compiler, run Fango: Restart Language Server from the Command Palette to recheck your open files. Changing fango.path restarts the servers too.
Saving a change to a standard-library source or a native sidecar also restarts them, even when the library is outside your workspace. A sidecar change still needs the compiler rebuilt first.
Your first program.
Ready to write something? Your first program prints a greeting and then defines a pure calculation. It works in the playground as well as on your machine.
Where to go next.
Setup and commands covers checking, formatting, build output, and cleaning the cache. After that, read the language guides in sidebar order, or jump to the standard-library guide for whatever you’re building.
