KPAX
is a Common Lisp Web Application Framework.
Although KPAX is quite mature and has been in production use for years, the documentation is currently not good enough to support use by the general public.
KPAX
allows you:
KPAX
is considered stable code.
KPAX
was featured in the controversial Lisp Movie,
Episode 2: (Re)writing Reddit in Lisp is 20 minutes and 100
lines [dead link].KPAX
is written in ANSI standard Common Lisp and should be portable
across any CL implementation, provided S-SYSDEPS is available.
The KPAX package is loaded using ASDF. There is an excellent tutorial on ASDF to get you started.
CL-USER 1 > (asdf:oos 'asdf:load-op :kpax)
Please consult the included examples and source code. There is a Lisp Movie, Episode 2: (Re)writing Reddit in Lisp is 20 minutes and 100 lines[dead link], that is actually a very good tutorial on using KPAX.
CL-USER 1 > (in-package :s-http-server)
#<The S-HTTP-SERVER package, 90/128 internal, 31/64 external>
S-HTTP-SERVER 2 > (defvar *server* (make-s-http-server))
*SERVER*
S-HTTP-SERVER 3 > (start-server *server*)
;; S-HTTP-SERVER: Started a new server on port 1701
#<S-HTTP-SERVER "s-http-server" port 1701 running 10C5F6EB>
S-HTTP-SERVER 4 > (register-context-handler *server* "/my-site" 'static-resource-handler :arguments '("/var/www/"))
((STATIC-RESOURCE-HANDLER "/my-site" "/var/www/") (S-HTTP-SERVER-HANDLER "/s-http-server" :BUILTIN))
S-HTTP-SERVER 5 > (stop-server *server*)
;; S-HTTP-SERVER: Stopped server
#<S-HTTP-SERVER "s-http-server" port 1701 not running 10C5F6EB>
There are some recent posting to the KPAX-DEVEL mailing list that are a beginning of documentation.
There is automatically generated API Reference documentation available for the KPAX package.
There is a mailinglist for KPAX
called
KPAX-DEVEL
hosted at common-lisp.net.
Release Notes:
KPAX
under a new, public structure using various
newly extracted sub packagesExtend the documentation. You can help!
Nothing appropriate.
KPAX
currently buffers request bodies as they are received and request
responses as they are built until they are committed. On some platforms
with limited strings sizes this might be a problem. For very large
transfers of data, a better solution is necessary.
KPAX
was written by Sven Van Caekenberghe
KPAX
is being maintained by Sven Van Caekenberghe
You are granted the rights to distribute and use this software as governed by the terms of the Lisp Lesser General Public License (http://opensource.franz.com/preamble.html), also known as the LLGPL.
An older version of KPAX
was first described in the article: Rebel With
A Cause -
Building Web Applications with Common Lisp, Deploying on an Apple Xserve
running Mac OS X Server (november 2003, dead link).
Thera are no references.
Copyright © 2002-2006 Sven Van Caekenberghe, Beta Nine BVBA. All Right Reserved.