laurent.orseau
2022-2-10 09:42:16
i’m a bit confused by #:break in for/fold clauses: > (for/fold ([res 0])
(#:break (= res 5)
[i (in-range 10)])
(display i)
i)
01234567899
> (for/fold ([res 0])
([i (in-range 10)]
#:break (= res 5))
(display i)
i)
0123455 I was expecting the first case to break before i would be bound.
mflatt
2022-2-10 13:26:57
A #:break is like a #:when in that creates nested iteration (in the for* sense) for anything after it. So, your first example is similar to #:when #t: it’s only checked once before the i iteration starts.
laurent.orseau
2022-2-10 13:56:22
I see, thanks. Would it be useful if i add this example to the docs? Or maybe would it make sense to disallow #:break before any clause?
rokitna
2022-2-10 19:34:36
›...‹ indeed :)