0.4.3 0.4.3-buster1.0.0 1.0.0-bookworm2.7.0 2.7.0-bookworm 2.7.0-bookworm-slim 2.7.0-trixie 2.7.0-trixie-slim3.0.1 3.0.1-bookworm 3.0.1-bookworm-amd64 3.0.1-bookworm-arm64 3.0.1-bookworm-slim 3.0.1-bookworm-slim-amd64 3.0.1-bookworm-slim-arm64 3.0.1-clnet-trixie 3.0.1-clnet-trixie-amd64 3.0.1-clnet-trixie-arm64 3.0.1-trixie 3.0.1-trixie-amd64 3.0.1-trixie-arm64 3.0.1-trixie-slim 3.0.1-trixie-slim-amd64 3.0.1-trixie-slim-arm64latest
3.0.1Clasp Home Page
https://clasp-developers.github.io
Where to file Docker image related issues
https://gitlab.common-lisp.net/cl-docker-images/clasp
Where to file issues for Clasp itself
https://github.com/clasp-developers/clasp/issues
Maintained by
CL Docker Images
Project
Supported platforms
linux/amd64 and linux/arm64 for every tag
From Clasp's Home Page:
Clasp is a new Common Lisp implementation that seamlessly interoperates with C++ libraries and programs using LLVM for compilation to native code. This allows Clasp to take advantage of a vast array of preexisting libraries and programs, such as out of the scientific computing ecosystem. Embedding them in a Common Lisp environment allows you to make use of rapid prototyping, incremental development, and other capabilities that make it a powerful language.
Dockerfile in your Clasp projectFROM clfoundation/clasp:latest
COPY . /usr/src/app
WORKDIR /usr/src/app
CMD [ "clasp", "-l", "./your-daemon-or-script.lisp" ]
You can then build and run the Docker image:
\$ docker build -t my-clasp-app .
\$ docker run -it --rm --name my-running-app my-clasp-app
For many simple, single file projects, you may find it inconvenient to write a complete `Dockerfile`. In such cases, you can run a Lisp script by using the Clasp Docker image directly:
\$ docker run -it --rm --name my-running-script -v "\$PWD":/usr/src/app -w /usr/src/app clfoundation/clasp:latest clasp -l ./your-daemon-or-script.lisp
SLIME provides a convenient and fun environment for hacking on Common Lisp. To develop using SLIME, first start the Swank server in a container:
\$ docker run -it --rm --name clasp-slime -p 127.0.0.1:4005:4005 -v /path/to/slime:/usr/src/slime -v "\$PWD":/usr/src/app -w /usr/src/app clfoundation/clasp:latest clasp -l /usr/src/slime/swank-loader.lisp -e '(swank-loader:init)' -e '(swank:create-server :dont-close t :interface "0.0.0.0")'
Then, in an Emacs instance with slime loaded, type:
M-x slime-connect RET RET RET
This image contains Clasp binaries built from the latest source code released by the Clasp developers for a variety of OSes.
Clasp is built using the Boehm-Weiser garbage collector (boehmprecise variant) and uses LLVM 19 for code generation.
clfoundation/clasp:<version>This is the defacto image. It is based on buildpack-deps and includes a variety of useful tools for development.
clfoundation/clasp:<version>-slimThis image is based on debian and
does not contain the common packages contained in the default tag. It
includes only the minimal packages needed to run clasp.
clfoundation/clasp:3.0.1-clnet-trixieThe common-lisp.net edition of Clasp: the 3.0.1 release with fixes added
from Clasp's main branch and open pull requests, until a Clasp release
carries them – today, generic functions with more than 128 methods,
which 3.0.1 cannot dispatch. It reports (lisp-implementation-version)
as 3.0.1-clnet.N, and its source and the list of changes, with their
upstream issues and pull requests, are in CLNET-EDITION.md on the
clnet-edition branch of
genworks/clasp. It is not an
official Clasp release: latest and 3.0.1 remain upstream's release.
Built on trixie only, with no -slim variant.
There are currently no Alpine-based images. Clasp requires glibc's
execinfo.h backtrace facility; its alternative libunwind code path
(USE_LIBUNWIND) is not wired up in released versions, so musl-based
systems such as Alpine are not yet supported upstream.
All images come with a script to easily install
Quicklisp. To install it, simply run
install-quicklisp as a shell command. It will download and verify the
quicklisp bootstrapping code and install it into ~/.quicklisp. To load
Quicklisp in your Lisp session, you need to run:
(load "~/.quicklisp/setup.lisp")
To load Quicklisp on every start of Clasp, you need to run:
(ql:add-to-init-file)
Full Quicklisp documentation is available at https://www.quicklisp.org.
For information on building these images and contributing, please see the repository at https://gitlab.common-lisp.net/cl-docker-images/clasp.
Clasp itself is licensed under the LGPL 2.1. The Dockerfiles and build infrastructure are licensed under the BSD 2-Clause License. See the LICENSE file in the repository for details.
Content type
Image
Digest
sha256:f8cbf444c…
Size
942.5 MB
Last updated
3 days ago
docker pull clfoundation/clasp