Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Common Lisp in the Cloud

4,078 views
Skip to first unread message

Mike Travers

unread,
Mar 8, 2012, 3:01:28 AM3/8/12
to
Deploying Lisp-based web applications has always been a bit of a pain. Well, it just got considerably easier -- I've put together a Heroku buildpack for Common Lisp. Thanks to Heroku, and QuickLisp, and a few of the other great tools out there, you can have a Lisp web server up and running in about five minutes.

Get started here:
https://github.com/mtravers/heroku-cl-example

Feedback welcome, by email or in the Github issue tracker.

Mike Travers
mt (at) hyperphor.com

fortunatus

unread,
Mar 8, 2012, 9:33:46 AM3/8/12
to
Looks super cool!

It's not clear to me what CL environment is receiving the code on
Heroku - I didn't see in the GIT files anything that actually started
up the CL environment. Therefore I assume the Heroku "Cedar" is
recognizing the application as a CL load, and starts some CL
environment, which is then fed the files.

On the other hand Heroku's web site does not mention Common Lisp
support... it does mentions Clojure, Python, etc.

Can you give some details - what CL is Heroku kicking up, for instance?

Mike Travers

unread,
Mar 8, 2012, 11:18:06 AM3/8/12
to
It's using OpenMCL (Clozure) and Portable AllegorServe. Substituting different Lisps or web servers shouldn't be that hard.

The machinery and some documentation is in the buildpack itself:
https://github.com/mtravers/heroku-buildpack-cl

Heroku supports a few languages that you mention, but it also provides this buildpack mechanism where others can add support for any language.

Mike

daniel....@excite.com

unread,
Mar 8, 2012, 11:45:02 AM3/8/12
to
Ah - now I see the stuff - so there are two GIT items: buildpack, and then example application... I see a bunch of stuff in the build pack 'bin' directory that is answering may questions...

super cool!

RG

unread,
Mar 9, 2012, 4:21:13 PM3/9/12
to
In article
<26897891.286.1331193688322.JavaMail.geo-discussion-forums@pbfa4>,
Can you give a quick overview about how this works? According to the
Heroku web site, it is limited to Ruby, Node.js, Clojure, Java, Python,
and Scala. How do you add to that list? Is it possible to run (say) C
code on Heroku?

rg

Mike Travers

unread,
Mar 9, 2012, 5:18:05 PM3/9/12
to
On Friday, March 9, 2012 1:21:13 PM UTC-8, RG wrote:

>
> Can you give a quick overview about how this works? According to the
> Heroku web site, it is limited to Ruby, Node.js, Clojure, Java, Python,
> and Scala. How do you add to that list? Is it possible to run (say) C
> code on Heroku?
>
> rg

Heroku's Cedar stack allows you to run arbitrary programs. This is done via a "buildpack", which is a language specific layer of glue that is responsible for assembling an application in a particular language (app, libraries, program interpreter, etc).

The buildpack itself is here: https://github.com/mtravers/heroku-buildpack-cl

I believe I saw a buildpack for C floating around on github.

Mike

RG

unread,
Mar 9, 2012, 5:54:06 PM3/9/12
to
In article
<8872483.873.1331331485114.JavaMail.geo-discussion-forums@pbcql4>,
Thanks!

rg

mck-

unread,
Mar 12, 2012, 11:06:24 AM3/12/12
to

> It's using OpenMCL (Clozure) and Portable AllegorServe. Substituting different Lisps or web servers shouldn't be that hard.

Do you mean that it is already supporting Hunchentoot? Or would it not be hard to add that support?

Mike Travers

unread,
Mar 12, 2012, 2:38:14 PM3/12/12
to
On Monday, March 12, 2012 8:06:24 AM UTC-7, mck- wrote:
> > It's using OpenMCL (Clozure) and Portable AllegorServe. Substituting different Lisps or web servers shouldn't be that hard.
>
> Do you mean that it is already supporting Hunchentoot? Or would it not be hard to add that support?

No, it's not currently supporting Hunchentoot, but it wouldn't be hard to add that.

RG

unread,
Mar 12, 2012, 9:31:55 PM3/12/12
to
In article
<7604763.6.1331577494091.JavaMail.geo-discussion-forums@pbcuu8>,
I've run Hunchentoot on AWS. It's completely straightforward.

rg

José Santos

unread,
Mar 13, 2012, 9:16:15 PM3/13/12
to
Hi,

This is awsome. Thank you Mike :)

I've been playing around with this and added support for SBCL and Hunchentoot.

A bit rough around the edges but https://github.com/jsmpereira/heroku-buildpack-cl .

I'm also playing around with implementation and web server choice.

Thanks again.
José Santos

Mike Travers

unread,
Mar 14, 2012, 2:01:42 PM3/14/12
to
Cool! I was hoping someone would take that on.

sfse...@gmail.com

unread,
Apr 1, 2012, 9:05:52 PM4/1/12
to
Very exciting! I'm going to rewrite one of my for-fun projects using sbcl+hunchentoot+heroku :D

mck-

unread,
May 16, 2012, 2:08:00 AM5/16/12
to


> Very exciting! I'm going to rewrite one of my for-fun projects using sbcl+hunchentoot+heroku :D

http://kuomarc.wordpress.com/2012/05/13/12-steps-to-build-and-deploy-common-lisp-in-the-cloud-and-comparing-rails/

I played around and wrote a little blog on the steps I took to build a db web-app, using sbcl, hunchentoot, postmodern and heroku.

It was a fun exercise, pretty basic for most of you, but perhaps it may be useful for some of you..

Thanks Mike and Jose for making this possible,

Cheers!

mck-

unread,
May 16, 2012, 2:02:06 AM5/16/12
to

> Very exciting! I'm going to rewrite one of my for-fun projects using sbcl+hunchentoot+heroku :D

http://kuomarc.wordpress.com/2012/05/13/12-steps-to-build-and-deploy-common-lisp-in-the-cloud-and-comparing-rails/

I played around with it and wrote a blog on the 12 steps I took to
build and deploy a db web-app using sbcl, hunchentoot, heroku and
postmodern.

It was a fun exercise for me, it's pretty basic for most of you
probably, but hopefully some of you may find some stuff helpful..

Simon Leinen

unread,
May 16, 2012, 4:11:45 AM5/16/12
to
mck- writes:
>> Very exciting! I'm going to rewrite one of my for-fun projects using sbcl+hunchentoot+heroku :D

> http://kuomarc.wordpress.com/2012/05/13/12-steps-to-build-and-deploy-common-lisp-in-the-cloud-and-comparing-rails/

I somehow saw your blog entry before your USENET News message. It was
through the "Common Lisp" group in LinkedIn (of all places) that I had
found that page. (As a die-hard News user, I find this a little sad :-)

> I played around with it and wrote a blog on the 12 steps I took to
> build and deploy a db web-app using sbcl, hunchentoot, heroku and
> postmodern.

> It was a fun exercise for me, it's pretty basic for most of you
> probably, but hopefully some of you may find some stuff helpful..

Sure, thanks for taking the time to write this up!

> Thanks Mike and Jose for making this possible,

<aol>From me too,</aol> or as the kids now say <goog>+1</goog>
--
Simon.

avodo...@gmail.com

unread,
Feb 4, 2013, 11:23:40 PM2/4/13
to
After studying Mike's example and Heroku I've realized it's easy to run any CL web application on any CL implementation at Heroku.

Heroku essentially gives you access to Unix environment. If you can run application on your local machine you can run it at Heroku too.

I did some refinements of the Mike's buildpack, to make it independent of particular web server. The changes are described at README here: https://github.com/avodonosov/heroku-buildpack-cl2

Hhere is a hunchentoot running on SBCL: http://rocky-island-7243.herokuapp.com/
0 new messages