guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Loop macros (was: Re: macro definition for continue and break)


From: Maxime Devos
Subject: Loop macros (was: Re: macro definition for continue and break)
Date: Mon, 12 Sep 2022 22:57:05 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.12.0



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.

Attachment: OpenPGP_0x49E3EE22191725EE.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]