Skip to content

An Ajax Common Lisp Library using parenscript to generate javascript and hunchentoot (for now) as the web server. Basically a fork and refactoring of ht-simple-ajax with an attempt merge ideas and code from ht-ajax.

License

Notifications You must be signed in to change notification settings

aarvid/SmackJack

Repository files navigation

This is the stub README.txt for the "smackjack" project.

Smackjack is a small Ajax framework written in Common Lisp.  Basically
Smackjack allows browser code call lisp functions via ajax and get a
return value. The code can be downloaded with all its dependencies
and loaded by quicklisp (10/2013).

Currently runs under Hunchentoot web server but there are plans
to allow other web servers. It was a fork of ht-simple-ajax and
aspires to be a replacement to the unmaintained and out of date
ht-ajax.

Differently than those two libraries, this one depends on parenscript
to generate client-side javascript and allows greater flexibility in
generated javascript.

Current version is compatible with ht-simple-ajax but it lacks many
features of ht-ajax.

The following features are addition to those available in ht-simple-ajax:

  * AJAX via Post as well as Get

  * response can be text, xml or json.

  * optional javascript namespaces to encapsulate generated javascript
    functions.
  
  * The arguments of the functions can be treated by cl-json before
    calling the function.


The code also contains a "pusher" subclass.  This allows a lisp
function call indirectly a javascript function defined in your lisp
code by parenscript but runs in the browser.  Basically the opposite
of SmackJack.  This is achieved by adding a simple polling mechanism.
Future development may include long polling.

About

An Ajax Common Lisp Library using parenscript to generate javascript and hunchentoot (for now) as the web server. Basically a fork and refactoring of ht-simple-ajax with an attempt merge ideas and code from ht-ajax.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published