I've been using SRFI-146 (https://srfi.schemers.org/srfi-146/srfi-146.html) for functional mappings. There's a Guile port: https://inqlab.net/git/guile-srfi-146.git/ (also in Guix - guile-srfi-146).
It would be nice to also have a Guile port of SRFI-113 (Sets and bags - https://srfi.schemers.org/srfi-113/srfi-113.html) and SRFI-217 (Integer Sets - https://srfi.schemers.org/srfi-217/srfi-217.html). For the integer sets, I believe there is some code already lurking deep down in Guile ((language cps intset)). These are all things that would be very nice to have distributed directly with Guile and I'd offer my help in upstreaming ports to Guile. I've previously used pfds (as mentioned by Maxime), but I've encountered some nasty issues that are keeping me from using it again (https://github.com/ijp/pfds/issues/5). -pukkamustard Jessica Tallon <tsyes...@tsyesika.se> writes: > Hello, > > I've been thinking how it'd be nice to have available in Guile a number of > purely functional datatypes, these being hashmaps, vectors, and sets. I've > been wondering what folks have been using for these with the idea that we > could bring them into guile for ease of use. > > I know of Andy Wingo's fash[0] and fector[1]. What do folks like to use? > > Thanks, > Jessica. > > [0] https://wingolog.org/pub/fash.scm > [1] https://wingolog.org/pub/fector.scm