[erlang-questions] OTP-9649 and further changes

Yurii Rashkovskii <>
Mon Jan 23 23:20:32 CET 2012


Hi Björn,

Understandable. The only problem that I see with this decision is that
a considerable number of projects use this feature, even without using
parametrized modules directly (off the top of my head I can remember a
few but I am pretty sure there's much more).

And yes, I do understand that this feature was experimental. But
there's also reality of its use.

Yurii.

2012/1/23 Björn Gustavsson <>:
> On 1/10/12, Yurii Rashkovskii <> wrote:
>> Hi,
>>
>> I was wondering if anybody (especially from the OTP team) can shed
>> some light on the following subject.
>>
>> In R15 we've got this:
>>
>> OTP-9649  Tuple funs (a two-element tuple with a module name and a
>>             function) are now officially deprecated and will be removed
>>             in R16. Use 'fun M:F/A' instead. To make you aware that your
>>             system uses tuple funs, the very first time a tuple fun is
>>             applied, a warning will be sent to the error logger.
>>
>> Which is fine.
>>
>> But I was wondering if there's any word out about the fate of tuple
>> modules? The ones like {erlang}:element(1). Are they expected to be
>> kept around? (I certainly hope they are :)
>>
>
> No, we don't expect to keep them.
>
> As pointed out by others, "tuple modules" is just an implementation
> detail of parameterized modules (which is an experimental feature).
>
> We have not reached a decision yet, but in the future we expect
> we will do one of two things:
>
> * Remove parameterized modules completely from the compiler
> and run-time system.
>
> OR
>
> * Implement parameterized modules properly by creating a new
> data type, both to allow better type checking by Dialyzer, and
> to possibly improve performance.
>
> /Björn
>
> --
> Björn Gustavsson, Erlang/OTP, Ericsson AB



More information about the erlang-questions mailing list