On Oct 29, 2012, at 11:46 AM, Loïc Hoguin <
es...@ninenines.eu> wrote:
> On 10/29/2012 11:36 AM, Magnus Müller wrote:
>> In the never-ending quest of searching help to program as little as
>> possible, I found Erlang's -extends(Module) directive. There is little
>> documentation on it, which makes me believe that it is either
>> an unwanted or not well-supported feature of the language. Is this
>> correct? Would you recommend keeping away from it?
>
> As a general rule, keep away from anything undocumented. They are either internal code (that may change at any time) or experimental features (that may be removed at any time).
>
> I do not think it is used anywhere in OTP. I am not sure why it was added to the language. This looks like an experimental feature.
>
> There was a discussion a few weeks back on how -extends changed in a recent version and made some code incompatible. Use at your own risk.
>
Let me add that the dialyzer doesn't support -extends. So you have to choose between using an (undocumented) feature, which is presumably part of parameterized modules, or the dialyzer.