[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Functional datatypes in Guile
From: |
Thompson, David |
Subject: |
Re: Functional datatypes in Guile |
Date: |
Tue, 28 Feb 2023 11:04:36 -0500 |
Hi pukkamustard,
On Tue, Feb 28, 2023 at 3:34 AM pukkamustard <pukkamustard@posteo.net> wrote:
>
>
> 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).
Your Guile port of (srfi srfi-146 hash) looks really nice! A
functional hash is the most important data structure for our needs at
Spritely. Do you know if it's thread-safe (unlike vhashes)? Andy's
fash implementation uses atomic boxes, for example.
Also, what are your thoughts on read syntax? I find myself using
alists more often than I probably should because the syntax is
pleasant. (hashmap comparator 'foo 1 'bar 2) is... okay, but terse
syntax for the common case of a hash with literal keys would be nice.
For example, #hq((foo 1) (bar 2)) for a hash with keys compared with
eq? Scheme is kind of odd for not having hash literal syntax.
> 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).
Good to know about this issue, thanks!
- Dave