Installation

Method 1: Binaries

Install pixi.

Then, in the project directory:

## Create a pixi workspace
pixi init

## Add the common lisp channel
pixi workspace channel add --prepend \
  https://prefix.dev/conda-forge \
  https://prefix.dev/common-lisp/common-lisp

## Install moonli
pixi add moonli

## Run it
pixi run moonli --version
pixi run moonli --no-init --funcall + 2 3 4

You can start the REPL with

pixi run moonli

You can quit it by uiop:quit() then hitting Ctrl+J.

You can install common lisp packages from the prefix.dev channel: https://prefix.dev/channels/@common-lisp/common-lisp

Optionally, you can also install the lisp package manager quicklisp with

pixi add ql-https

To install a package, you can

pixi run moonli --funcall ql:quickload osicat

Although, Moonli’s curated libraries included with the binary should cover the common cases. So, ql-https should not be required.

To run a script

pixi run moonli /path/to/script.moonli

If you have an asdf package in the current directory, then you can start moonli with the project

Updating moonli will be as simple as

pixi upgrade moonli

Without pixi (manual download)

Grab a binary from the latest release. If you want an interactive REPL as in the above gif, grab the binaries with “repl” or “ciel” in their name.

In case of any installation issues, please create an issue on github or gitlab.

In this case, quicklisp will need to be installed manually and updating Moonli will also have to be manual.

Method 2: From fresh compilers - If you want to hack on Moonli

With pixi

  1. Install pixi.

    Windows users should also install git for bash

  2. Clone the repository and change directory:

    git clone https://github.com/moonli-lang/moonli && cd moonli
    
  3. Use pixi:

    pixi run sbcl --no-userinit --eval '(asdf:load-system "moonli/repl")' --eval '(moonli/repl:main)'
    

    OR

    pixi -q run moonli-repl
    

You can use pixi run sbcl to use as the binary from other editors like Emacs or VS Code. Emacs has a moonli-mode.el and VS Code has Alive Moonli.

Without pixi

Step 0. Install a package manager for your OS

Mac OS: brew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Windows:

  • MSYS2: this will install the pacman package manager
  • Or choco

Step 2. Install ql-https

ql-https sets up the Common Lisp library manager quicklisp with https support. It can be installed simply as:

export LISP=sbcl
curl https://raw.githubusercontent.com/rudolfochrist/ql-https/master/install.sh | bash

This will also edit the compiler init file (eg. ~/.sbclrc) to load ql-https at startup.

Step 3. Install Moonli

3.1. Obtain the source
git clone https://github.com/moonli-lang/moonli
3.2. Start the REPL
sbcl --eval '(ql:quickload "moonli/repl")' --eval '(moonli/repl:main)'

Optionally, with CIEL

sbcl --eval '(asdf:load-system "moonli/ciel")' --eval '(moonli/repl:main)'
3.3a. (Optional) Building basic binary

The following should create a moonli binary in the root directory of moonli.

sbcl --eval '(asdf:make "moonli")'

./moonli --help
A basic moonli transpiler over SBCL
Available options:
  -h, --help                 Print this help text
  -l, --load-lisp ARG        Load lisp file
  -m, --load-moonli ARG      Load moonli file
  -t, --transpile-moonli ARG
                             Transpile moonli file to lisp file
3.3b. (Optional) Build REPL

The following should create a moonli.repl binary in the root directory of moonli.

sbcl --eval '(asdf:make "moonli/repl")'
3.3c. (Optional) Build REPL with CIEL

The following should create a moonli.ciel binary in the root directory of moonli.

sbcl --eval '(asdf:make "moonli/ciel")'

Step 4. Set up VS Code or Emacs

Install VS Code or VSCodium if they are not already installed.

Once the editor is installed, install the Alive Moonli extension.

If you are familiar with Emacs, you can also use moonli-mode.el.


Last modified October 12, 2026: Update install steps with moonli (500d78e)