svenvc / KPAX

A Common Lisp Web Application Framework.
11 stars 2 forks source link

KPAX

A Common Lisp Application Framework

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.

Contents

Features

KPAX allows you:

Status

KPAX is considered stable code.

News

Platforms

KPAX is written in ANSI standard Common Lisp and should be portable across any CL implementation, provided S-SYSDEPS is available.

Installation

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)

Usage

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.

API Reference

There is automatically generated API Reference documentation available for the KPAX package.

Mailinglist

There is a mailinglist for KPAX called KPAX-DEVEL hosted at common-lisp.net.

Changelog

Release Notes:

TODO

Extend the documentation. You can help!

FAQ

Nothing appropriate.

Bugs

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.

Authors

KPAX was written by Sven Van Caekenberghe

Maintainers

KPAX is being maintained by Sven Van Caekenberghe

License

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.

History

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).

References

Thera are no references.

Copyright © 2002-2006 Sven Van Caekenberghe, Beta Nine BVBA. All Right Reserved.