Remix.run Logo
shawn_w 5 days ago

Racket's for loops declare in their name what they're intended to return (if anything). Personally that's way more readable and preferable to, say, Common Lisp loop or iterate where you have to hunt through the body for clues. Plus it's easy to create new ones when desired.

I don't see fibers in the guile manual, just heavy weight threads. Is that a third party library? (The lack of a package manager to easily install such things is an issue with most Schemes; only chicken and chibi have anything like Racket's)

bjoli 5 days ago | parent [-]

I wrote this, which I find more usable than racket's loops: https://rikspucko.koketteriet.se/bjoli/goof-loop

It does not use mutation, and should produce just as efficient code as the racket loops. It is also extensible (and easily portable to racket!). It is written almost exclusively in syntax-rules.

Guile fibers can be found here: https://codeberg.org/fibers/fibers