Skip to content
Web application environment for Common Lisp
Common Lisp Nginx
Failed to load latest commit information.
roswell Fix parse-value in clackup.ros to be able to read "nil".
src Prevent from displaying the duplicate starting logs.
t Allow to use a random port for each subtest in handler test suites.
tmp forgot to add "tmp" directory, using clack.test.suite.
v1-compat Replace cl-fad by UIOP.
.gitignore Fix JSON middleware to recognize Content-Type that specifies a charse…
.travis.yml The latest version of Jonathan, fast-http and fast-io are not needed … Add
README.markdown Add
clack-handler-fcgi.asd Clean clack-handler-fcgi up.
clack-handler-hunchentoot.asd Clean clack-handler-hunchentoot up.
clack-handler-toot.asd Clean clack-handler-toot up.
clack-handler-wookie.asd Add clack-socket to abstract sockets in handlers.
clack-socket.asd Add clack-socket to abstract sockets in handlers.
clack-test.asd Move clack-test files.
clack-v1-compat.asd Replace cl-fad by UIOP.
clack.asd Load all libraries before 'server is going to start' message when :us…
t-clack-handler-fcgi.asd Move core files.
t-clack-handler-hunchentoot.asd Move core files.
t-clack-handler-toot.asd Move core files.
t-clack-handler-wookie.asd Move core files.
t-clack-v1-compat.asd Add clack.request & clack.response and fix tests.


Clack - Web Application Environment for Common Lisp

Build Status Coverage Status Quicklisp dist

Clack is a web application environment for Common Lisp inspired by Python's WSGI and Ruby's Rack.


(defvar *handler*
      (lambda (env)
        (declare (ignore env))
        '(200 (:content-type "text/plain") ("Hello, Clack!")))))

Open your web browser and go to http://localhost:5000/. You should get "Hello, Clack!".

To stop the server, use (clack:stop *handler*).

Command-line interface

Clack provides a script to start a web server. It's useful when you deploy to production environment.

NOTE: Install Roswell before as it depends on it.

When you execute ros install clack, it copies clackup script to $HOME/.roswell/bin. Make sure the path is in your shell $PATH.

$ ros install clack
$ which clackup

$ cat <<EOF >> app.lisp
(lambda (env)
  (declare (ignore env))
  '(200 (:content-type "text/plain") ("Hello, Clack!")))
$ clackup app.lisp
Hunchentoot server is started.
Listening on localhost:5000.


(ql:quickload :clack)



How to contribute


See Also

  • Lack: Clack application builder



Copyright (c) 2011-2015 Eitaro Fukamachi & contributors


Licensed under the LLGPL License.

Something went wrong with that request. Please try again.