Skip to main content

Lisp web tutorial?

"PHP vs. Lisp: Unfortunately, it's true..." article initiated quite active discussion on reddit, one fellow asking:

Can someone post a tutorial for taking a clean install of Ubuntu (or windows or anything) to finish with serving a basic CRUD application using lisp? Maybe a TODO list with entires consisting of: incomplete/complete boolean, due date, subject, body?

actually i had an impression that there are more than enough such tutorials, but as nobody replied i've tried finding one myself, starting with Hunchentoot tutorials. surprisingly, none of them covered a short path from clean OS install to working examples. neither i've found my ABCL-web  tutorial suitable for this, so i decided to try myself. 

my idea was that Linux distros like Debian and Ubuntu contain a lot of Lisp packages, and it should be fairly easy to install them, as it automatically manages dependencies etc. i've decided to try Hunchentoot -- i'm not using it myself, but it's known to be pretty lean, unlike other bloated frameworks. indeed, installing Hunchentoot via apt-get was pretty straightforward, and it even worked quite fine out of the box! so i've posted this comment, and it seems people found it sort of useful. so was followup on Emacs/SLIME installation.

so i wonder -- is there a lack of up-to-date installing-lisp-web-server-from-scratch tutorials indeed? if so i'll consider making one.. it seems there is a widespread opinion  that Common Lisp "learning curve at the beginning is steep as hell" and "Just setting a sane development environment is a huge pita" -- and that is opinion of people who actually succeeded in using Lisp! so maybe i can prove otherwise?

Comments

Anonymous said…
I wrote one to get it working from a fresh Debian install here:

http://kzar.co.uk/blog/?p=13
killersorm said…
nice work, Dave, i guess that delivers professional-grade development/deployment environment. but i'm afraid that many commands will scare a hell out of newbies, and won't demonstrate a point that installing CL web server is almost as easy as installing PHP one :).

perhaps your instructions would be even better if you'll add more comments to each step -- i.e. say that clbuild is a great thing to manage lisp dependencies etc.
Anonymous said…
To be honest it really isn't as easy, you're right that a lot of commands might be intimidating though.

I have tested the install a few times and it seems to work pretty well, I'm not really sure how I could reduce it down further.

I think Xach was on to something when he suggested making into a Debian package, I might have a go at that some time.
Anonymous said…
This private menu saves a lot as} 15 favourite bets for every player, dashing up betting for everybody and making complicated betting simple for extra experienced players. Roulette traces its roots to the invention in England in about 1720 of the horizontal 카지노 playing wheel for a recreation called roly poly, which featured white and black slots, however no numbers. The first modern roulette wheels were in use in Paris by 1796. Deciding quantity of} chips to place the place on the roulette table is dependent upon by} what kind of bet you wish to make.

Popular posts from this blog

Lisp syntax is great!

lots of people complain about Lisp syntax -- they find it too weird and verbose, they call LISP "Lots of Irritating  Silly Parentheses"; and sometimes they even pop up with proposals to "fix Lisp" on comp.lang.lisp -- "Lisp is sort of cool, but this syntax... let me show you my great ideas." on the other hand, most lispers (and I among them) actually love s-expression syntax. who is right here? are syntax preferences a subjective thing, or one can decide which is better quite in an (more-or-less) objective way? or, perhaps, that's just a matter of taste and custom? i've got a good example today.. i'm using Parenscript -- cool Common Lisp library that automatically generates JavaScript from Lisp-like syntax -- and i've wrote a function that caches document.getElementById results (that makes sence for dumb browsers like IE):   (defun my-element-by-id (cache id) (return (or (slot-value cache id)     (setf (slot-value cache

A note to my former self: You're not supposed to take care of everything

In 2012-2013, I led the development of an open-source project called "Colored Coins", which defined a protocol for user-issued fungible tokens on the Bitcoin blockchain. In fact, this was the first protocol of its kind; before colored coins, the only fungible tokens on a blockchain were the native tokens (e.g., BTC on the Bitcoin blockchain). How did I become the lead dev? It was simple: I thought it was a cool project and relatively easy to implement. In August 2012, I stumbled upon an article about colored coins while browsing a Bitcoin forum. At that point, it was merely a theoretical concept. Intrigued by the idea, I believed that it could be implemented in a few weeks and might be a nice addition to my CV. Back then, the world of "crypto" was less about money and more about exploring the possibilities of decentralized, peer-to-peer networks. The project started with just a few people discussing it on a mailing list. The first implementation I created the first