Hello World Demo of Common Lisp Running on Heroku
Common Lisp
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Common Lisp on Heroku -- Example Project

This project is an example of how to use jsmeperia's fork of the Heroku Common Lisp Buildpack. See the buildpack repository for more information and credits.

This is the Hunchentoot branch.

Example App: http://young-ocean-1914.herokuapp.com/


First, get yourself set up with a Heroku account and tools.

Then clone this project, reinitialize the git repo, and optionally modify it with your own content.

Change directory into the heroku-cl-example.

Next, create your own Heroku application using CL Buildpack:

heroku create -s cedar --buildpack http://github.com/jsmpereira/heroku-buildpack-cl.git

Install http://devcenter.heroku.com/articles/labs-user-env-compile to have config vars available at build time.

You can choose implementation via: heroku config:add CL_IMPL=sbcl or heroku config:add CL_IMPL=ccl

Choose webserver via: heroku config:add CL_WEBSERVER=hunchentoot or heroku config:add CL_WEBSERVER=aserve

To avoid trouble with SBCL source encoding use: heroku config:add LANG=en_US.UTF-8

And deploy:

git push heroku branch

Where you should replace branch with the branch of your choice. There are currently 2 branches. Master has Huchentoot specific code and aserve has AllegroServe specific code.

That's it! Use heroku open to view your app in your browser!

More details:

Currently https://github.com/jsmpereira/heroku-buildpack-cl let's you run Hunchentoot with SBCL and CCL and AllegroServe(portableaserve) with CCL.

There is a pending issue with acl-compat bundled with portableaserve preventing use with SBCL. Look here for more information.

The file heroku-setup.lisp gets loaded at compile time, and needs to load any Lisp files or packages required.

Thanks to Mike Travers for getting Common Lisp on Heroku. Thanks to jsmeperia for providing the initial demos