4 ms·
There is absolutely nothing wrong with Common Lisp's hash tables. They are fast and rock solid in all implementations I've tried. The author drank too much Koo
by TurboHaskal 7y ago
There is absolutely nothing wrong with Common Lisp's hash tables. They are fast and rock solid in all implementations I've tried.
The author drank too much Kool aid or is probably still in his functional programming honeymoon phase so anything mutable is of course bad and odd.
- Jach 7y agoThey did say "odd" not "wrong" so I'd like to hope the feeling is for slightly less dismissable reasons than an FP fetish. What I would have answered if you asked me years ago would be something like how when you come from another dynamic language you immediately notice the lack of data literal syntax without bringing in your own few-lines reader macro, then there's the need to understand the types of equality predicates, and finally the need to get used to the setf conventions. Once you get used to things though, most of which is just getting used to CL more so than its hash table choices, and discover things like alists or plists as a simpler and syntactically convenient out-of-the-box way of representing the handful of hard-coded key-value pairs which tend to make up a tiny portion of a program, the oddness is replaced by appreciation. So I wonder if the GP thinks along these lines, or some other oddity.
- patrec 7y agoThere's plenty wrong with hashtables in Common Lisp, they feel like an ugly bolt on. There's no convenient way to construct them or look at them (they're not readably printable, and you can't fix that yourself either). Even checking key presence in a hashtable requires multiple-value contortions. On a more fundamental level, they also suffer more than sequences from the fact that common lisp has no well thought out concept of equality.