[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.


More information about the erlang-questions mailing list