On 12-09-2022 21:19, Linus Björnstam wrote:
If you want a bit more advanced looping you could have a look at my goof-loop: https://git.sr.ht/~bjoli/goof-loop It currently does not support a break or continue clause, but adding one should not really be a problem. A good thing is that it does not rely on mutation for anything except higher order sequences, meaning it does not lead to the implicit boxing overhead of set!, which is a good idea in loops since that quickly adds up. Best regards Linus Björnstam
I also have a mutation-free loop macro, named 'hat-let' or 'let^': https://git.gnunet.org/gnunet-scheme.git/tree/gnu/gnunet/utils/hat-let.scmIts origin is rather different though, goof-loop appears to be the result of combining various loop-related constructs, plus some extras, whereas let^ is the result of combining various binding constructs (including the 'let loop'), plus some extras.
It combines the following: let*, lambda / define, receive, 'let loop', 'if', 'begin'.
Doesn't do any accumulation though. Greetings, Maxime.
OpenPGP_0x49E3EE22191725EE.asc
Description: OpenPGP public key
OpenPGP_signature
Description: OpenPGP digital signature