Alpha. Vary is under active development and not ready for production use. Syntax, APIs, performance, and behaviour may change between releases.

macOS

Note: Linux is the reference platform. macOS bundles a macOS JRE and the same compiler JAR as Linux, but has not been validated on real hardware. If you hit problems, use Docker instead.

Quick install

One command installs varyup (the toolchain manager) and the latest Vary toolchain.

curl -fsSL https://github.com/ccollicutt/vary/releases/latest/download/install.sh | sh

The script auto-detects Apple Silicon vs Intel. It will download varyup to ~/.vary/bin/, install the latest Vary toolchain, and install the vary compiler shim.

Then add ~/.vary/bin to your PATH. Add this line to ~/.zshrc:

export PATH="$HOME/.vary/bin:$PATH"

Note: The installer does not modify your shell profile automatically. Adding the PATH entry is a manual step by design, so nothing is changed in your environment without your knowledge.

Restart your shell, then verify:

vary --version

You should see:

Vary vX-alpha.Y

Options

FlagEffect
--skip-toolchainSkip automatic toolchain install

Environment variables VARY_HOME (default: ~/.vary) and VARY_RELEASE_URL can override defaults.

Manual install

If you prefer not to pipe to sh, you can install manually:

1. Download varyup

# Apple Silicon (M1/M2/M3/M4):
mkdir -p ~/.vary/bin
curl -fSL "https://github.com/ccollicutt/vary/releases/latest/download/varyup-macos-arm64" -o ~/.vary/bin/varyup
chmod +x ~/.vary/bin/varyup

For Intel Macs, use varyup-macos-x64 instead of varyup-macos-arm64.

2. Verify checksum

curl -fSL "https://github.com/ccollicutt/vary/releases/latest/download/SHA256SUMS" -o /tmp/SHA256SUMS
cd ~/.vary/bin && grep "varyup-macos-arm64$" /tmp/SHA256SUMS | shasum -a 256 -c -

You should see varyup-macos-arm64: OK. For Intel Macs, replace arm64 with x64 in the grep pattern. If the check fails, delete the binary and retry the download.

3. Add to PATH

Add to ~/.zshrc (macOS default shell):

export PATH="$HOME/.vary/bin:$PATH"

Reload your shell and install a toolchain:

source ~/.zshrc
varyup toolchain install latest

Managing toolchains

List available versions:

varyup toolchain list-available

Install a specific version:

varyup toolchain install <version>

Short aliases are available:

varyup tc la   # list-available
varyup tc i    # install

Run varyup with no arguments to see all commands and aliases.

Install VS Code extension

Each toolchain bundles the Vary VS Code extension. Install it with:

varyup vscode install

See VS Code for full extension documentation.

Next steps

ActionLink
Manage versions, update, pin per-projectvaryup
Write your first programGetting Started
Run vary test on examplesTesting
Run vary mutate on examplesMutation testing