[erlang-questions] OTP-9649 and further changes

Yurii Rashkovskii yrashk@REDACTED
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.


2012/1/23 Björn Gustavsson <bgustavsson@REDACTED>:
> On 1/10/12, Yurii Rashkovskii <yrashk@REDACTED> 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