Re:Hard-won lessons: Five years with Node.js
by foldr on Thursday April 20, 2017 @12:44PM
(#14158311)
Does it have a non-hacky way of handling record types yet?
[ Parent
| on HN ]
Re:Hard-won lessons: Five years with Node.js
by srpablo on Thursday April 20, 2017 @08:49PM
(#14162204)
It has maps now! This chapter speaks of them being fully supported in future versions, which have since arrived. http://learnyousomeerlang.com/maps
And even records are hardly a quirk like the ones I listed for JavaScript: as long as you remember that they're just syntax around tuples, you're hardly ever surprised by what they do. You'll never get a runtime behavior you didn't expect.
That is definitely an improvement, although the document you linked to suggests that the old-style records would still be used for some purposes. If the language already has tuples there's really no reason why it shouldn't just have tuples with a fixed set of named fields.
The quirks of JavaScript that you mention never bother me at all in practice (and yes, bringing up 'with' is a very cheap shot, and Erlang's string handling is pretty wacky too), but I remember that not having real record types was a serious pain point.