I remember that Amirouche tried to port this to guile and didn't pass all the SRFI test when using call/ec. He also used my make-coroutine-generator that used delimited continuations.
If you have the time to try it out, many operations could probably gain some Speed by using a coroutine-generator like this: https://git.sr.ht/~bjoli/awesome-coroutine-generators/tree/master/item/awesome-coroutine-generators/base.scm#L64 (where %tag and the generator-end object are replaced to make it compatible with srfi-128 and self-contained). -- Linus Björnstam On Mon, 8 Aug 2022, at 10:38, pukkamustard wrote: > Hello Guilers, > > I'm pleased to announce Guile SRFI-146 0.1.0: > https://inqlab.net/git/guile-srfi-146.git/tag/?h=v0.1.0 > > Guile SRFI 146 provides bindings to SRFI 146 (Mappings). SRFI 146 > provides two purely functional mapping data structures: One that uses an > ordering of keys and another that uses a hash on keys. The > implementations use red-black trees and hash array mapped tries (HAMT). > > The library re-uses the SRFI sample implementation with some minor Guile > specific fixes and optimiztions. The SRFI test suite has also been > ported. > > The package has been submitted to Guix so you should be able to start > some purely functional hacking very soon > (https://issues.guix.gnu.org/57055). > > Bug reports, fixes and patches are very welcome. > > Best regards, > pukkamustard