<div dir="ltr">Agree. All this thing sounds to me like some kind of type check but neither in compile time neither runtime, but in load time. It's like fairy tale, neither naked, neither dressed. With global name space it easy become to horror.<br>
<br><div class="gmail_quote">On Wed, Oct 15, 2008 at 4:24 PM, Ulf Wiger (TN/EAB) <span dir="ltr"><<a href="mailto:ulf.wiger@ericsson.com">ulf.wiger@ericsson.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Joe Armstrong skrev:<br>
<div class="Ih2E3d">> On Wed, Oct 15, 2008 at 2:38 PM, Ulf Wiger <<a href="mailto:ulf@wiger.net">ulf@wiger.net</a>> wrote:<br>
>> 2008/10/15 Thomas Lindgren <<a href="mailto:thomasl_erlang@yahoo.com">thomasl_erlang@yahoo.com</a>>:<br>
>>> Does it handle multiple definitions of the same record name?<br>
>>> (#state, to take the canonical example)<br>
><br>
> Yes - it reports an error if two record declarations are not<br>
> identical<br>
><br>
>> This is what prompted me to introduce an -export_records()<br>
>> directive in my exprecs contrib.<br>
>><br>
>> If I have records that I only use inside one module, I don't really<br>
>> care if similar, but different, records are used elsewhere.<br>
><br>
> And you promise not to send a message containing a private record,<br>
> anywhere - and you promise that some other process will not send you<br>
> a message with this record and you promise not to store a record in a<br>
> data base - ....<br>
<br>
</div>Yes, just like I promise not to mess with data structures documented<br>
as "opaque", or mess with contents of ets tables, just because<br>
they're created as 'public', or send bogus messages to other<br>
processes just because I can, or mess with other programs' mnesia<br>
data, for that matter.<br>
<br>
I also restrain myself from calling<br>
rpc:multicall(nodes(), erlang,halt,[]),<br>
even though it's perfectly possible.<br>
<br>
I guess the question is whether your cure is worse than the<br>
disease. ;-) I don't think it's very common that programs inadvertedly<br>
pass around their internal data structures. If you offer a way for<br>
people to specify some of their records as internal, they may be<br>
more inclined to use your solution.<br>
<div><div></div><div class="Wj3C7c"><br>
BR,<br>
Ulf W<br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://www.erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://www.erlang.org/mailman/listinfo/erlang-questions</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>--Hynek (Pichi) Vychodil<br>
</div>