5 ms·
First thing I searched for on the page: loop (not found).
by palad1n 9y ago
First thing I searched for on the page: loop (not found).
- shakna 9y agoYou have let [0], why would you need a special loop function? [0] http://jtra.cz/stuff/lisp/sclr/let.html http://jtra.cz/stuff/lisp/sclr/let.html Edit: That is to say, this is a simplified reference, and loop is a macro, not a special form.
- kgwgk 9y agoThis response makes no sense. Most of the functions in that page are not special forms. And both "car" and "first" are included! And "cdr" and "rest". And there are other functions that can be trivially obtained by the composition of two functions.
- Koshkin 9y agoNote that both CAR and CDR refer to parts of a CONS cell which does not necessarily represent a list.
- kgwgk 9y agoThat doesn't change the fact that car and first are two names for one single function (the same applies to cdr and rest). (The point is that the absence of loop cannot be explained because it's not "needed".)
- juki 9y agoI assume you're thinking about Schemes `(let loop (...) ...)`, but that doesn't exist in Common Lisp. CL:LOOP is a looping macro with its own small DSL. (loop :for i :below 5 :when (evenp i) :collect i) ;=> (0 2 4)
- lispm 9y agoThat's a step up from loops with 'goto': (prog ((result '()) (i 0)) loop (when (>= i 5) (return (reverse result))) (when (evenp i) (push i result)) (incf i) (go loop))
- Grue3 9y agoThere seems to be a lot of functionality missing. Like, the entire CLOS.
- DonaldFisk 9y agoI don't recommend using loop. Neither does Paul Graham (http://www.paulgraham.com/loop.html http://www.paulgraham.com/loop.html) nor John Foderaro, the main developer of Franz Lisp (http://compgroups.net/comp.lang.lisp/re-the-loop-macro-3/1951602 http://compgroups.net/comp.lang.lisp/re-the-loop-macro-3/195...). Including loop in the Common Lisp standard was a contentious issue, opposed by Scott Fahlman, Guy Steele (3.2 in http://dreamsongs.com/Files/HOPL2-Uncut.pdf http://dreamsongs.com/Files/HOPL2-Uncut.pdf), and others (Steven M. Haflich's article on 9/16/02 in https://groups.google.com/forum/#!topic/comp.lang.lisp/tBmK0c0AL4M https://groups.google.com/forum/#!topic/comp.lang.lisp/tBmK0...).
- dreamcompiler 9y agoLoop is ugly but sometimes an ugly tool is the best one for the job. Format is ugly too, but same issue. One of the nice things about CL programmers is that we're all pretty smart and we can disagree while acknowledging each others' points. PG also dislikes CLOS for example. I think he's wrong about that, but I respect his opinions.
- treerex 9y agoFormat is ugly, but like a bulldog it is so ugly it's cute. If you don't want loop, you can always use iterate. :-)
- dreamcompiler 9y agoAck. I've never been able to wrap my head around iterate and it's non-standard, so I ignore it. (I also ignore the pretty printer because I don't understand it, even though it is standard.)