Hello Guile hackers,
In the last release, a procedure called 'alist->hash-table' was
introduced to provide a convenient way to convert an alist into a hash
table.
(use-modules (ice-9 hash-table))
(define myhash
(alist->hash-table
'(("parrots" . "nuts")
("monkeys" . "bananas")
("cats" . "fish"))))
I think that it would be even more convenient to build a macro on top
of this to provide a declarative hash table constructor. A simplistic
example:
(define-syntax-rule (hash-table (key value) ...)
(alist->hash-table `((key . ,value) ...)))
(define myhash
(hash-table
("parrots" "nuts")
("monkeys" "bananas")
("cats" "fish")))
IIRC, hash table macros are a bit of a controversial topic, but I
think that previous discussions were about a reader macro.
Thoughts?
- Dave