coalton-io-template

December 30, 2025 ยท View on GitHub

A tiny starter project for coalton-io + Coalton, wired for:

  • project-local dependencies via Qlot
  • src directory (src/main.lisp)
  • test suite via Fiasco (tests/package.lisp)
  • running the app via ASDF (coalton-io-template/run)

1) Install dependencies

From the repo root:

qlot install

This installs all of the dependencies into ./.qlot/

2) Run the program

Run from the terminal

SBCL

qlot exec sbcl --no-userinit \
  --load .qlot/setup.lisp \
  --eval '(asdf:load-system "coalton-io-template/run")' \
  --eval '(uiop:quit)'

Roswell

qlot exec ros run +Q \
  --load .qlot/setup.lisp \
  --eval '(asdf:load-system "coalton-io-template/run")' \
  --eval '(uiop:quit)'

Run from the REPL

Alternatively, you can run main from a REPL. First, load a REPL (see #3). Then from within the REPL run:

(asdf:load-system "coalton-io-template/run")

3) Launch a REPL with code + deps loaded

SBCL

qlot exec sbcl --no-userinit --load .qlot/setup.lisp

Then in the REPL:

(asdf:load-system "coalton-io-template")

Roswell

qlot exec ros run +Q --load .qlot/setup.lisp

Then in the REPL:

(asdf:load-system "coalton-io-template")

4) Launch Editors with project support

Qlot can integrate with several editors. See here for more.

Emacs

To launch Emacs with local project dependencies, run this in the terminal from the project root:

qlot exec emacs

For other ways to integrate the local dependencies into Emacs, see the Qlot documentation.

5) Run the tests

Run the tests as a one-off

SBCL

qlot exec sbcl --no-userinit \
  --load .qlot/setup.lisp \
  --eval '(asdf:test-system "coalton-io-template")' \
  --eval '(uiop:quit)'

Roswell

qlot exec ros run +Q \
  --load .qlot/setup.lisp \
  --eval '(asdf:test-system "coalton-io-template")' \
  --eval '(uiop:quit)'

Run the tests from the REPL

Alternatively, you can run the tests from a REPL. First, load a REPL (see #3 above). Then from within the REPL run:

(asdf:test-system "coalton-io-template")