<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jan 26, 2021, 2:17 AM Kostis Sagonas <<a href="mailto:kostis@cs.ntua.gr">kostis@cs.ntua.gr</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 1/25/21 12:52 PM, Raimo Niskanen wrote:<br>
> There is room for improvement here.<br>
<br>
Yep, definitely. Let me throw my 2 :-<br>
<br>
> Here gen does not export the right type for gen:start(_, monitor, ...).<br>
> I am not sure that we should specify types in gen; it is an internal module,<br>
<br>
For a long time now, my view has been that for OTP folks, `internal <br>
modules' are similar to what `unicorns' are for my little daughter. <br>
They are imaginary creatures which are "goosey" and nice.<br>
<br>
But in reality, they do not really exist. Moreover, they might look <br>
innocent and nice, but they have a horn that they can put to use if <br>
strangers manage to put their hands on them.<br>
<br>
<br>
Seriously now, in an open source code base, you cannot expect that you <br>
would have a key module with a name ('gen') which is the second most <br>
general name that I can think of (question for the reader: guess what is <br>
the most `general` one?</blockquote></div></div><div dir="auto"><br></div><div dir="auto"></div><div dir="auto">I would like to enjoy this one. So is it in a classificational sense or statistical sense that I have to guess the 'generality'? :-D </div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">) and that this module will "just pollute the <br>
name space" and will not be looked at or abused by any of the thousands <br>
of developers who use Erlang/OTP.<br>
<br>
<br>
My view is that you should *not* have such modules in a system!<br>
<br>
If they are really intended to be `internal', their functions should <br>
only appear *inside* the modules that they support. If they are used by <br>
multiple modules and you are worried about code duplication, simply have <br>
them as include files.<br>
<br>
That's my view/advice at least.<br>
<br>
Kostis<br>
</blockquote></div></div><div data-smartmail="gmail_signature">नमस्ते।<br>नलिन रंजन</div></div>