Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
How to Set Up a Common Lisp Web Environment (jdpressman.com)
98 points by unimpressive on Dec 5, 2015 | hide | past | favorite | 35 comments


The download link on the sbcl.org site links to sourceforge, which I am reluctant to use as a download source. Anybody know if there is a canonically accepted alternative dl location?


There is a package in most linux distributions (sbcl under Ubuntu).

If you want more precise control over your lisp, look into Roswell. It is rbenv for lisp.


There's a GitHub mirror (https://github.com/sbcl/sbcl), but it doesn't have copies of the binary releases.


If you want a current SBCL but want to avoid Sourceforge, use your distro's SBCL binary (which is probably ancient) to recompile the source code taken from GitHub.


Most distros provide sbcl binaries, but otherwise you're stuck building from the github mirror or downloading a binary from sbcl.org.


apt-get source sbcl


This is not the modern way to setup common lisp environment at all. https://github.com/snmsts/roswell is a oneshot answer for setting up Common Lisp implementation, Quicklisp and the-shell-scripting-environment-for-CL.

OSX:

$ brew tap snmsts/roswell

$ brew install roswell

Arch:

$ yaourt -S roswell

Windows: go https://ci.appveyor.com/project/snmsts/roswell for binaries


I think it is much more reasonable to have a decent fastcgi back-end for SBCL than running a full http[/2] server.

As far as I remember, there is only a naive FFI for libfcgi on github.


You're entirely correct, I was originally going to have an appendix on how to install woo (https://github.com/fukamachi/woo) but decided to get the tutorial done rather than prolong the time until I release it. I'll probably add it at a later date.


Note that quickload can take a list as a parameter


Hint for OSX users: CMUCL works best on 64bit OSX versions. The other Lisps such as Clozure CL and SBCL sooner or later cause some incompatibility problems.


Er, what?

OS X is Clozure's home platform and in my experience where it works best. The project has all those Cocoa bindings and grew out of Macintosh Common Lisp; it's definitely an OS X friendly Common Lisp.

CMUCL is...if not precisely dead, certainly moribund. It's been ported all over the place and the OS X port is certainly credible, but I wouldn't call it a first class Common Lisp for the Mac platform.


I'm not sure what you mean by compatibility problems. Would you elaborate, please?


On OSX I also found 'rlwrap' useful when using sbcl from the commandline.


I've seen a lot of people mention using rlwrap with sbcl. I'm a bit curious about how people actually do the development with that.

Do you use the repl to simply (load ...) files; never doing anything interactively with it? When I'm using emacs+slime I constantly write small loops/functions in the repl for testing, but doing that with rlwrap feels pretty painful to me. Do you have some sort of scratch-file that you write those in, which you can easily load?

At least to me the debugger feels pretty horrible to use without slime. How do you usually fix/redifine functions when debugging a problem? How about stepping through code? Making sense of the compiler notes/errors must also be pretty annoying without having them highlighted in your editor?


You can still use Emacs+SLIME, Vim+Slimv or whatever. It's just mentioned because of the fact that sbcl does not have readline support (last time I looked).


It is a huge pain to use rlwrap to edit Lisp. Someone, please write a "lispwrap" program which solves this pain point once and for all.


Better to use emacs/slime with Meta-x slime-connect and ssh port forwarding.


BTW: SBCL won't work an all VPS.


Never had a problem with SBCL on any VPS provider.


How come?


Memory overcommitment. Isn't supported for all VPS solutions.


I totally appreciate complete focus on content.But is there any specific reason that people would not want to use any form of templating/styling?

This is a genuine question and not sarcasm.I have seen this sort of styling on several sites which excel in material provided.

EDIT: I do love the content.Gonna be trying this this weekend


From the other perspective, I was just about to say "thank you for the plain HTML".

So much easier to read than the trend of #CCC on #FFF...


I wish more sites were plain html. You can do better, but it's easy to do a lot worse, to the point of unreadability.


I also hate the grey-on-grey, so I made a chrome extension to change it to black-on-white: https://github.com/bentrevor/emblacken. I found a gist with the js and de-obfuscated about half of it. It works on almost all sites.

Chrome lets you set keyboard shortcuts to run extensions, so I press it once to change to black text, and again to use a white background.


The website is under construction, I haven't gotten around to styling it yet. Any suggestions on what it should look like?

If you look at the homepage I have the skeleton of a layout and styling there: http://jdpressman.com/


There are some html syntax errors in the (caveman2:make-project) line. :)


Yeah I haven't figured out how to fix those yet. I'd be happy to when I do. They're also ruining my Unix V7 tutorial.


Are you using Markdown to generate those HTML files?


Yes, and you asking the question managed to be enough for me to diagnose the issue, thanks.


I'm glad I was of help to you. cheers :)


Just don't force the background to bright white please.


> I have seen this sort of styling on several sites which excel in material provided.

Maybe it's not a coincidence.


I have ideas for things to write but I never finish them because I am so bad at styling a web page and never get them close to decent looking. So this is much better.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: