Reply To: Erlang R16

Home Forums Basic Erlang Erlang R16 Reply To: Erlang R16

#33845

Tomasz Kowal
Member

Erlang has philosophy of no surprises and parameterized modules could be quite surprising.
1. When debugging parameterized module, Erlgang was reporting function/arity+1, because internally,
parametrized modules are just functions with one more parameter.
2. For the same reason, you would have problems invoking those functions in shell.

You can achieve the same things, passing the state as a first parameter.
It is more readable and easier to test and debug.

BUT…
If you REALLY need them (usually, you don’t) or you want to keep backward compatibility,
you can emulate them with parse transforms.
Chicago Boss team did exactly that:
https://github.com/ChicagoBoss/ChicagoBoss