@louis LOOP is a terrible macro. People like it because it can be shorter than the equivalent DO form, but it is a very non-lispy form that makes it really hard to understand what is really going on.
Of course everytimes I say that, I get all kinds of people attacking me because "muh LOOP is just fine", but hey this is the Internet :)
@galdor I was more in the "pro-LOOP" crowd because I liked it how concise a problem can be expressed. Until today. I think it is better to just forget about it and use DO or whatever. When there is something strange happening it is impossible for SBCL to show the locals, even when using STEP. Btw. when I stepped through a LOOP it was doing very strange things that don't even reflect the code I wrote.
As for iterate, I still do not see the point of pulling an external library when DO & co do the job perfectly. Developers will go through extreme lengths just to avoid writing a bit more of code, even though the slightly longer code is so much simple (something Go got right, at least).
@pkw@galdor@ksaj I'm kind of hesitant to use external dependencies for "simple" stuff like iteration. Iterate features its own DSL, too afaik.
Also, every non-essential dependency brings the risk of being stuck with SBCL like forever (i.e. the ubiquitous serapeum lib didn't compile on CLASP until just recently.)
Add comment