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")