Installation of your Gendl-based System

| ^UP^ | Next->

You have several options for developing and deploying applications using Gendl and Genworks GDL. Gendl refers to an open-source project hosted at common-lisp.net whose copyright is owned by Genworks and which is licensed under the GNU Affero General Public License The AGPL licensing means essentially that Gendl and its derivatives can be used free of charge in any way you want, as long as you comply with AGPL by making available your application source code to your users. If you were to host or distribute a compiled Gendl application without complying with AGPL requirements, you would be putting yourself and any company you're associated with into legal jeopardy.

Please do not be concerned about legal jeopardy, however, as there are several ways to make good use of Gendl and KBE while avoiding this risk:

  • Host your application source code at a public repository such as GitHub or a GitLab instance.
  • Distribute a closed-source application under the Genworks royalty program, with quarterly reporting.
  • Contact Genworks and arrange to purchase a commercial Genworks GDL seat (these seats are built with commercial Allegro Common Lisp and come with technical support as well as other Enterprise-oriented features.)

Recommended: the Basalt Containerized Environment

The most expedient way to get a complete, working Gendl development environment (preconfigured Emacs, running Gendl backends, SLIME connectivity, and optional AI-agent (MCP) wiring) is Basalt, the free, open-source Genworks deployment stack, with its Readymacs Emacs console. It runs everything in Docker containers and leaves your host machine untouched, so there is nothing to uninstall if you change your mind.

With Docker installed (on Windows, the easiest route is WSL2 with Docker inside it), the entire setup is:

git clone https://github.com/genworks/basalt
cd basalt
./basalt up

This pulls and starts a containerized Emacs console with the Readymacs configuration, alongside Gendl engine containers (Clozure CL and SBCL variants), ready for hands-on work in Emacs/SLIME or for driving from an AI coding agent over MCP. Your shell gains helper functions, rmacs and grmacs, for hopping into the running Emacs. See the README for details, client configurations, and a first-session transcript.

Gendl Docker Images

Without Basalt, you can run a Gendl engine directly from its Docker image. The images are published on Docker Hub as genworks/gendl, one per branch and Lisp: master-ccl and master-sbcl are the stable choice; devo-ccl and devo-sbcl are the latest development snapshot (latest is devo-ccl). Each is built from source inside the Common Lisp Foundation's own Clozure CL or SBCL image, so the Lisp inside is that image's, rebuilt with every Gendl change.

With Docker installed (on Windows, WSL2 with Docker inside it), one command starts a Gendl with its web server on port 9080 and a Swank listener on port 4200:

docker run -it --rm -p 9080:9080 -p 4200:4200 -e START_HTTP=true genworks/gendl:devo-ccl

Then browse to http://localhost:9080/geysr, or connect from Emacs with M-x slime-connect to localhost port 4200. The terminal you started it from is the Gendl REPL.

The devo images run natively on 64-bit ARM machines too (Apple Silicon Macs under Docker Desktop or colima, ARM Linux servers): each tag carries both linux/amd64 and linux/arm64, so the same command pulls the right one for your machine. The master images are amd64 only until the next release. The ARM build of devo-ccl runs on Clozure CL's new Linux/arm64 port, which is not yet in a Clozure CL release; reports of anything that breaks, on either Lisp, are welcome at the Gendl issue tracker.

If you work from a clone of the Gendl repository, its docker/run [--sbcl] script does the same for the branch you have checked out, and also mounts your ~/projects directory into the container so that Emacs on your host and Gendl in the container see the same files. Load emacs/gdl.el from the repository into Emacs (with M-x load-file) for SLIME and the Gendl extensions, then M-x slime-connect as above.

Prebuilt Gendl zip archives and Windows installers are no longer produced: since September 2026 Gendl ships as the Docker images above, or as source. The last archives remain at their old addresses on downloads.genworks.com, unchanged, for anyone who already relies on them.

Gendl compiled from source

If you are already set up with Common Lisp and Quicklisp, you can load and start Gendl with the following commands: (ql:quickload :gendl) (gendl:start-gendl!). If you'd like to work with the latest development ("devo") version of Gendl, then you may clone its repository into your quicklisp/local-projects/ directory, then the above command will load it from there rather than from the Quicklisp distribution (which carries a Gendl release built from the master branch). In order to clone the devo branch, the commands would be:
git clone https://gitlab.common-lisp.net/gendl/gendl.git; cd gendl; git checkout devo

Commercial Genworks GDL

Genworks offers commercial Genworks GDL distributions built with the commercial Allegro Common Lisp system. These distributions require an encrypted license file to run and are available through an email-based download gateway.

If you would like to inquire about an entitlement for supported commercial Genworks GDL, then please contact Genworks at [email protected] and you will be provided with further information.