Install Amalgame

Try it instantly with the ready-to-use Docker IDE, or install the amc compiler natively for your system.

Latest stable version: v0.8.90 (see all releases)

🐳 Docker — the full IDE, zero install

The quickest way to try Amalgame: one command boots a browser VS Code with the compiler, the extension (syntax highlighting, LSP, debugger), a ready-to-run sample and the docs — all pre-wired, nothing to set up.

docker run --rm -p 8080:8080 ghcr.io/amalgame-lang/amalgame-ide:latest

Then open localhost:8080 — you land on the MyFirstApp sample with the user guide pinned in the sidebar; press F5 to build and debug it on the spot.

  • Port already in use? Map any free host port, e.g. -p 8888:8080, then open localhost:8888.
  • Multi-arch: runs natively on Intel/AMD (amd64) and on Apple Silicon / Raspberry Pi 64-bit (arm64).
  • Persist your work: mount a folder, e.g. -v "$PWD/work:/home/coder/work".
  • Exposing it beyond localhost? Set -e PASSWORD=… (auth is disabled by default for local use).

Pre-built binary

The fastest native install. Download the archive matching your OS, extract, and place amc in your PATH.

🐧 Linux

🍎 macOS

🪟 Windows

🥧 Raspberry Pi (ARM64)

On a Raspberry Pi running a 64-bit OS (uname -maarch64), the one-liner installs the native linux-arm64 build. 32-bit (armv7l/armv6l) isn't supported — reflash a 64-bit OS.

sudo apt install -y build-essential libgc-dev libssl-dev curl
curl -fsSL https://raw.githubusercontent.com/amalgame-lang/Amalgame/main/install/install.sh | sh
amc --version

🥧 New to the Pi? The Raspberry Pi how-to guide walks you from a blank SD card to blinking an LED, reading a button, and talking to I²C sensors — step by step.

Build from source

If you want to bootstrap yourself or if no binary is available for your OS.

Linux

sudo apt install gcc libgc-dev libcurl4-openssl-dev
git clone https://github.com/amalgame-lang/Amalgame.git && cd Amalgame
gcc -O2 -Iruntime snapshot/amc_lib.c -lgc -lm -lcurl -o snapshot/amc
./build_amc.sh
./amc --version

macOS

brew install bdw-gc curl
git clone https://github.com/amalgame-lang/Amalgame.git && cd Amalgame
GC_PREFIX=$(brew --prefix bdw-gc)
CURL_PREFIX=$(brew --prefix curl)
gcc -O2 -Iruntime -I"$GC_PREFIX/include" -I"$CURL_PREFIX/include" \
    -L"$GC_PREFIX/lib" -L"$CURL_PREFIX/lib" \
    snapshot/amc_lib.c -lgc -lm -lcurl -o amc
./amc --version

Windows (MSYS2 MINGW64)

pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-gc mingw-w64-x86_64-curl
git clone https://github.com/amalgame-lang/Amalgame.git && cd Amalgame
gcc -O2 -Iruntime snapshot/amc_lib.c -lgc -lm -lcurl -lws2_32 -o amc.exe
./amc.exe --version

Install Mosaic (the web framework)

Mosaic is Amalgame's web framework — one binary, N sites, automatic HTTPS/ACME, sessions, auth (Basic/JWT), reverse proxy. Once amc is in place it installs as a set of packages.

amc package add web net-http tls      # framework + HTTP/1.1 + TLS
amc package add net-proxy             # (optional) reverse proxy

A minimal server:

import Amalgame.Web

WebApp.New()
    .Get("/", ctx => HttpResponse.New().Html("<h1>Hello Mosaic</h1>"))
    .ServeHttps(443, "/etc/ssl/cert.pem", "/etc/ssl/key.pem")

Full reference (auth, sessions, CORS/CSRF, rate-limit, static files, TLS/ACME, reverse proxy): the Mosaic docs and the configuration reference.

Install Pollen (the workflow bus)

Pollen is Amalgame's decentralized P2P workflow engine — a TCP/UDP message bus that runs distributed automation across machines, with a visual workflow editor. It installs from source:

curl -sSL https://raw.githubusercontent.com/amalgame-lang/pollen/main/install.sh | bash

More in the Pollen repository.

What next?

Verify the installation with amc --version, then follow the tour to discover the language.