On Oct 13, 2017 9:09 PM, "John Cowan" <xxxxxx@ccil.org> wrote:

What's needed is a true persistent hash-based map. one that doesn't involve full copying for updating, any more than the red-black trees used by (srfi 146) do.  An appropriate implementation would be a hash trie.  However, I am not really up for providing a hash trie implementation, and I doubt if anyone else is either right now.  Therefore I suggest that references to hashmaps and (srfi 146 hash) be removed from SRFI 146 and left for a possible later SRFI.

I have such an implementation and would be happy to contribute it.  It doesn't have the same API as anything else, but that should be easy to fix.  I haven't optimized it, but its algorithmic complexity should be fine.  It also supports copy-on-write mutation like Clojure's.  There's also an analogous sets implementation.