[HN Gopher] Loops in Lisp Part 3: Iterate (2016)
___________________________________________________________________
Loops in Lisp Part 3: Iterate (2016)
Author : todsacerdoti
Score : 10 points
Date : 2021-07-16 18:11 UTC (4 hours ago)
(HTM) web link (malisper.me)
(TXT) w3m dump (malisper.me)
| bjoli wrote:
| So, tangentially, I wrote this: https://git.sr.ht/~bjoli/goof-
| loop/ it is a scheme looping facility combining the nice things
| of racket's loops with foof-loop.
|
| It is mostly written in portable syntax-rules. The official
| documentation documents the last "stable version", whereas the
| readme documents a bit of the current state. I would love to add
| conditional branching, but it seems prohibitively hard to do
| using syntax-rules while also keeping the syntax moderate.
|
| It is pretty portable. A 10 line syntax-case macro for the
| hairiest bits. The code it produces is easy for the optimizer to
| reason about, and the guile optimizer makes the code optimal
| (almost?) all of the time.
|
| Iterate was one inspiration, and so was the holy grail of scheme
| looping facilities: the one described in the paper "the anatomy
| of a loop" by Olin Shivers'. If anyone has the code, for the love
| of god, write me a message!
|
| Edit: and oh, if anyone has any questions about the kind of
| macrobatic masochism required to write good loop, I am happy to
| answer them!
___________________________________________________________________
(page generated 2021-07-16 23:02 UTC)