do you have any examples of use? that illustrate the features ,just with the code it is not easy. Regards, Damien
On Mon, Sep 12, 2022 at 10:57 PM Maxime Devos <maximede...@telenet.be> wrote: > > > 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.scm > > Its 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. >