Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A common lisp web application framework
Common Lisp JavaScript

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
docs Updated for Version 0.2.9
examples Made the oid parameter of edit-page as not optional
public Added robots.txt
sml Added a link to a registration page in a login page
src Added a static file dispatcher for robots.txt
tests Updated tests/http.lisp
.gitignore Removed all files for now to merge with my local repository. (I know …
CHANGELOG.markdown Updated for Version 0.2.9
README.markdown s/the number of tokens/a number of tokens/
web4r-tests.asd Added tests/http.lisp and tests/pages.lisp
web4r.asd Updated for Version 0.2.9



web4r is a continuations-based web application framework written in Common Lisp. The goal of web4r is enabling users to develop web applications with the shortest codes. (The shortness is about a number of tokens.)

The "Hello World" Application:

(require :web4r)
(use-package :web4r)

(defpage hello (:get (name "world"))
  [p "Hello, " name])


; wget http://localhost:8080/hello => '<p>Hello, world</p>'
; wget http://localhost:8080/hello?name=tomo => '<p>Hello, tomo</p>'

Arc Challenge:

(defpage said ()
  (form/cont (a/cont [p "You said: " (last-post "foo")] "click here")
   (input-text "foo")))

Blog Application:

(ele:open-store *example-bdb*)

(defpclass blog ()
  ((title :length 50 :index t)
   (body  :length 3000)))

(genpages blog)


API Documentation

Note: These documents are included under the web4r/docs directory

Something went wrong with that request. Please try again.