Skip to content
CryoCryo home

Get started

Install Cryo

One command installs a self-contained cryo into ~/.cryo and puts it on your PATH. Linux and Windows on x86-64 are supported in 1.0.0.

curl -fsSL https://cryolang.org/install.sh | bash

Linux

x86-64
  1. 1

    Run the installer

    The script downloads the release archive, verifies its checksum, unpacks it into ~/.cryo, and appends the bin directory to your shell profile.

    bash
    curl -fsSL https://cryolang.org/install.sh | bash
  2. 2

    Open a new shell and verify

    The profile change only affects shells started after the install.

    bash
    cryo --version
    # cryo 1.0.0
  3. 3

    Create your first project

    bash
    cryo init hello
    cd hello
    cryo run

    cryo init is interactive - pressing Enter accepts every default. It writes a cryoconfig and a src/main.cryo.

Pin a specific version

bash
curl -fsSL https://cryolang.org/install.sh | bash -s -- --version=1.0.0

Uninstall

bash
~/.cryo/bin/cryo --uninstall

Windows

x86-64
  1. 1

    Run the installer in PowerShell

    PowerShell
    irm https://cryolang.org/install.ps1 | iex

    The archive ships cryo.exe alongside LLVM-C.dll; both land in your install directory together.

  2. 2

    Open a new terminal and verify

    PowerShell
    cryo --version
    # cryo 1.0.0
  3. 3

    Install a linker

    Cryo drives a mingw-w64 gcc for the final link. Install one through MSYS2 or w64devkit and make sure it is on your PATH.

    MSYS2 shell
    # MSYS2
    pacman -S mingw-w64-x86_64-gcc
    
    gcc --version   # confirm it resolves
  4. 4

    Create your first project

    PowerShell
    cryo init hello
    cd hello
    cryo run

Requirements

  • A C compiler on PATH

    Compiling a program shells out to a system C compiler for the final link step. gcc or clang on Linux; a mingw-w64 gcc on Windows.

  • Nothing else

    The quick-install binary statically links LLVM, so there is no libLLVM runtime dependency and no glibc floor to satisfy.

macOS is not supported yet

1.0.0targets x86-64 Linux and x86-64 Windows, including Linux → Windows cross-compilation via mingw-w64. Darwin targets are planned after 1.0.

Build from source

The repository ships a committed, self-hosted compiler at bin/cryo and the standard library at stdlib/. Every build target drives off that pin, so you never need an external Cryo toolchain to bootstrap.

bash
git clone https://github.com/jakelequire/CryoLang.git
cd CryoLang

./install.sh --dev                      # symlink the pinned compiler onto PATH
./install.sh --dev --prefix=$HOME/.local # ...or somewhere else
./install.sh --dev --uninstall

Rebuilding the compiler

bash
make cryo              # rebuild the self-hosted compiler
make stdlib            # rebuild the standard library
make selfhost-check    # 3-round / 6-stage byte-identity gate
make test              # run the repo-level test suite

The dev flow has more prerequisites

The pinned bin/cryois dynamically linked, so a from-source install needs LLVM 20 (runtime and -dev), clang 20, make 4.0+, python33.8+, and glibc 2.34+. On Debian/Ubuntu, apt-get install llvm-20 clang-20 covers the runtime; rebuilding additionally needs llvm-20-dev.

Next steps