Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Common Lisp interpreter

Name: Anonymous 2011-12-29 15:02

I'm reading Land of Lisp and the guy uses CLISP (and CLISP specific extensions), so I'm using it for now. But I've heard good things about SBCL and others. Which one would you recommend? Should I stick with CLISP?

Name: Anonymous 2011-12-30 21:13

>>28
(mapcar #'if '(t nil t) '(1 2 3) '(a b c))

You could do that if you just write a wrapper against the special-form/macro. I was going to post here a generic wrapper-generator for just what you wanted, but then half-way through me writing it, I found a pretty annoying bug in SBCL's internals (which I don't feel like reporting at this moment) with how it handles obtaining the argument list of special forms (macro-expansion time vs run-time). It wasn't too difficult to write, but I'm sure my own code isn't absolutely bug-free either (it calls alexandria's lambda-list parser and generates a form from there), if I wasn't lazy, I could probably spend a few more hours and make it good enough for my own standards, but unfortunately I don't really need the macro for most of my needs, so it'll have to wait for another day. I also think that someone else on c.l.l has already written something similar in the past, if you can't find their post, you just need swank-backend:arglist (de-facto portable arglist grabber, but unfortunately there's a bug in SBCL which makes it fail when doing it at macroexpansion time for special forms, but works at run-time) and alexandria:parse-ordinary-lambda-list (if you don't want to write your lambda list parser, it's not too pleasant).

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List