<br><br><div class="gmail_quote">On Sun, Nov 16, 2008 at 11:33 PM, Zvi <span dir="ltr"><<a href="mailto:exta7@walla.com">exta7@walla.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="Ih2E3d"><br></div>
This is the fastest way to start prototyping new stdlib, for the begining I<br>
propose to use new module names (i.e. for example  gc_set instead set,<br>
gc_dict, instead dict , etc., where "gc_" perfix mean gen_collection), i.e.<br>
to not interfere with legacy code.<br>
<br>
I have 2 ideas here:<br>
<br>
1. Maybe there is a reason from the beginning to have 2 collection<br>
behaviours, like in Python:<br>
  a. gen_mapping (for dict, ets, dets, i.e. any key=>[value] mapping, maybe<br>
even funs)<br>
  b. gen_sequence (for list, tuple, array, set, ordset, etc.). In some<br>
languages you may use index as a key - so maybe everything can be<br>
gen_mapping?</blockquote><div><br></div><div>I think that what defines sequence is an iterator protocol rather than indexing. </div><div><br></div><div>sequence module could then be a behavior AND a set of functions for operating on iterators (map, fold, ets)</div>
<div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><br>
<br>
2. Use parametrized types, to specify ADT implementation details / policies.<br>
For example in case of distributed/SMP map/fold , using something as plists<br>
"malt" (i.e. how to split tasks between cores/nodes or just use sequential<br>
code - this is just example).</blockquote><div><br></div><div>Are parametrized types ready for prime-time? Like records, they aren't exactly first-class members of the language, and reading Richards paper on them, he has some concerns about performance.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><br>
<div class="Ih2E3d"><br>
<br>
Zvi<br>
<br>
<br>
Damien Morton-2 wrote:<br>
><br>
</div><div class="Ih2E3d">> Can a module have multiple behaviours applied to it? What happens with<br>
> conflicts, can one function satisfy two or more behaviour requirements?<br>
><br>
<br>
</div>I don't know<br>
<font color="#888888">--<br>
View this message in context: <a href="http://www.nabble.com/Erlang-3000--tp20518620p20524858.html" target="_blank">http://www.nabble.com/Erlang-3000--tp20518620p20524858.html</a><br>
</font><div><div></div><div class="Wj3C7c">Sent from the Erlang Questions mailing list archive at Nabble.com.<br>
<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>