[erlang-questions] (Non)Parametrized modules, inheritance, and R15B02 issues?

Dmitry Belyaev <>
Wed Oct 10 11:18:08 CEST 2012

My opinion is that parametrized modules are very nice for abstractions.

For example like these:

Of course it is doable without pmods. But it is doable with some kind of reinventing the wheel. Do we need to have non standard way to do the same thing?

-export([new/2, apply/2]).
-record(my_pmod, {module, thid}).

new(Module, Params) ->
	#my_pmod{module=Module, this=Params}.

apply(#my_pmod{module=Module, this=This}, Fun, Params) ->
	apply(Module, Fun, Params ++ [This]).

Dmitry Belyaev

On 10.10.2012, at 11:10, Ulf Wiger wrote:

> What would be good is if a list of good uses of pmods could
> be collected, and honorable workarounds suggested.
> This could of course be done interactively on this list.
> Present what you think is code that is not easily done well
> without pmods, and let the members of this list debate
> suitable rewrites. If good alternatives are hard to find, 
> maybe that could inform some EEP for a more
> 'erlangish' extension that renders pmods truly obsolete?
> BR,
> Ulf W
> On 10 okt 2012, at 00:54, Tomas Morstein <> wrote:
>>>> ...
>> The problem starts when it comes to projects like ChicagoBoss
>> that we at IDEA love and intensively use every day.
>> CB uses pmods not only for simple_bridge-based web controllers,
>> but also for its sophisticated and well integrated concept of
>> data models being linked with Django templating engine in turn.
>> Although I fully understand reasons why pmods and their eventual
>> pseudo-OOP behaviour (like inheritance) are not so clear as they
>> are implemented today, but in other hand, many excellent projects
>> may disappear in final result...
>> I hope such a "total eclipse" is not going to happen, but our case
>> (over-using the extra unsupported and hackish features) we've just
>> adapted our technology to framework and totally forgot to standards,
>> what's in fact our own mistake.
> _______________________________________________
> erlang-questions mailing list
> http://erlang.org/mailman/listinfo/erlang-questions

More information about the erlang-questions mailing list