Sign inSign up

clfoundation/egcl

By clfoundation

•Updated 2 days ago

Evergreen Common Lisp, Anthony T. Green's Common Lisp implemented in Rust.

Image
0

70

clfoundation/egcl repository overview

⁠Supported Tags

⁠Simple Tags

  • 0.0.10 0.0.10-trixie 0.0.10-trixie-slim

⁠Shared Tags

  • latest
    • 0.0.10

⁠Quick Reference

Evergreen Home Page
https://github.com/atgreen/evergreen⁠

Evergreen manual
https://atgreen.github.io/evergreen/⁠

Where to file Docker image related issues
https://gitlab.common-lisp.net/cl-docker-images/egcl⁠

Where to file issues for Evergreen itself
https://github.com/atgreen/evergreen/issues⁠

Maintained by
CL Docker Images Project⁠

Supported platforms
linux/amd64

⁠What is Evergreen?

Evergreen Common Lisp (EGCL), by Anthony Green, is an experimental Common Lisp implementation written in Rust. It runs code in a bytecode interpreter and moves hot code up a tiered JIT to native compilers, with a moving generational garbage collector, fibers, and a tree shaker for standalone executables. It is young and changing quickly; existing libraries may need compatibility changes, and the project keeps a guide to the forks it maintains.

⁠How to use this image

⁠Create a Dockerfile in your EGCL project

FROM clfoundation/egcl:latest
COPY . /usr/src/app
WORKDIR /usr/src/app
CMD [ "egcl", "--load", "./your-daemon-or-script.lisp" ]

You can then build and run the Docker image:

\$ docker build -t my-egcl-app .
\$ docker run -it --rm --name my-running-app my-egcl-app

⁠Run a single Common Lisp script

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 EGCL Docker image directly:

\$ docker run -it --rm --name my-running-script -v "\$PWD":/usr/src/app -w /usr/src/app clfoundation/egcl:latest egcl --load ./your-daemon-or-script.lisp

⁠Start a REPL

\$ docker run -it --rm clfoundation/egcl:latest

⁠What's in the image?

This image contains egcl built from the tagged release source published by the Evergreen project: the runtime is compiled as a statically linked (musl) executable with the Rust toolchain the release pins, then saved with ASDF preloaded, as the project's make image-no-pgo does. It is not the profile-guided build the project's Fedora packages carry, and its C-ABI foreign function interface is not enabled.

⁠Image Variants

⁠clfoundation/egcl:<version>

This is the defacto image. It is based on buildpack-deps⁠ and includes a variety of useful tools for development.

⁠clfoundation/egcl:<version>-slim

This image is based on debian⁠ slim and does not contain the common packages contained in the default tag. Since egcl is a static executable, it needs nothing else to run.

⁠ASDF and Quicklisp

ASDF is preloaded: (asdf:load-system ...) works with no require. Quicklisp needs patches to run on EGCL today, so these images do not carry its installer; see the project's notes on libraries and forks.

⁠Building and Contributing

For information on building these images and contributing, please see the repository at https://gitlab.common-lisp.net/cl-docker-images/egcl⁠.

⁠License

Evergreen itself is licensed under the GPL 3.0 or later with the Classpath exception. The Dockerfiles and build infrastructure are licensed under the BSD 2-Clause License. See the LICENSE file in the repository for details.

Tag summary

Content type

Image

Digest

sha256:798644290…

Size

370 MB

Last updated

2 days ago

docker pull clfoundation/egcl