Skip to content
No description or website provided.
Common Lisp Shell
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Common Lisp port-based server manager


Manage port-based Common Lisp servers (e.g., Swank and Hunchentoot) through a unified interface.


Manage multiple instances of port-based servers through a unified interface. This is helpful if you want to quickly incorporate a console and a web server into your Common Lisp application. Swank is useful in providing an interactive interface to your application.

Quick setup (SBCL on Linux as example, YMMV)

mkdir -p $HOME/.config/common-lisp/source-registry.conf.d/50-hacking.conf
echo '(:tree (:home "hacking/common-lisp/"))' > $HOME/.config/common-lisp/source-registry.conf.d/50-hacking.conf
mkdir -p $HOME/hacking/common-lisp
cd $HOME/hacking/common-lisp
git clone
  • To quickly launch it, use the provided Shell script $HOME/hacking/common-lisp/cl-server-manager/ It loads the package (with the help of Quicklisp) and drops into prepl (portable REPL).

  • An example session inside REPL.

CL-USER> (ql:quickload :cl-server-manager) ; use Quicklisp to load CL-SERVER-MANAGER
To load "cl-server-manager":
  Load 1 ASDF system:
; Loading "cl-server-manager"
CL-USER> (in-package :cl-server-manager) ; save us from tying the package prefix
CL-SERVER-MANAGER> (launch-system-with-defaults nil :console :http) ; launch the console (Swank) and HTTP (Hunchentoot) servers 
(36325 #<HUNCHENTOOT:ACCEPTOR (host *, port 8085)>)
CL-SERVER-MANAGER> (list-servers) ; Which servers are available?
CL-SERVER-MANAGER> (list-ports :name :console) ; which port the console server is using? now we can "slime-connect" to "" with port "36325" to connect to this Lisp image
CL-SERVER-MANAGER> (list-ports :name :http) ; which port the HTTP server is using? direct your browser to http://localhost:8085 
CL-SERVER-MANAGER> (shutdown-server :name :http) ; shutdown the HTTP server
CL-SERVER-MANAGER> (shutdown-all-servers) ; quickly shutdown all servers


  • SLIME's documentation facility (especially "slime-apropos-package" with keymap "C-c C-d p") helps understanding the user interface.

  • Alternatively, take a look at the export list of "package.lisp."

Something went wrong with that request. Please try again.