[erlang-questions] [ANN] Erlang/OTP 17.0-rc1 has been released.

Ignas Vyšniauskas <>
Sat Feb 1 22:19:36 CET 2014


The main problem I see with records is that it is impossible to use
pretty much any generic functions on them, hence you either get massive
code duplication or lots of parse-transforms.
Trivial things such as converting a record to a dict or filtering out a
field can only be achieved via parse-transforms, which is ridiculous.
What good is a data structure if it can't be handled easily? Also, how
readable are your logs when there's a record involved? "Foo crashed when
state was {state, foo, bar, undefined, undefined, 1, 2, undefined}" is
not very helpful usually. [And, yes, I know you can workaround all of this.]

IMHO the trivial static guarantee of "yep, that field exists" (which is
all that you get without Dialyzer) is not worth the pain induced by
everything else.

--
Ignas



More information about the erlang-questions mailing list