I've been looking for a map like C++ STL written in C. I need to lookup symbols to get function pointers, among other uses. Part of a general process of replacing C++ with C. Maybe I have found it? Interesting project, thanks for posting.
I don't have fast string lookups yet, it's still in the ballpark of the overly slow std::unordered_map.
Later I'll add patricia (for prefix tables, sharing common prefixes) and an open addressing hashtable, which should be better. Same API though.
For symtabs a swiss table variant for short strings should be the best. See the 2017 swiss table talk.
Esp. for unicode symbols I'll add u8ident, but better is to avoid unicode identifiers at all. ASCII is good enough.
Just think of mixing greek with cyrillic and math symbols. They are undistinguishable.
Thanks for the info! I'm currently using the hash table from Femtolisp, works OK for my small tests, might need something better for production. My symbols are currently limited ASCII anyway.