2009/1/12 Gleb Peregud <span dir="ltr"><<a href="mailto:gleber.p@gmail.com">gleber.p@gmail.com</a>></span><br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div class="Wj3C7c"><br>
</div></div>Probably James means that such structure could be used in such a way:<br>
<br>
Options0 = #{width=1280, height=1024},<br>
...<br>
Options = Options0#{colors = 256},<br>
...<br>
adjust_screen(Options).<br>
<br>
adjust_screen(#{colors = 65536}) -> erlang:error(unsupported);<br>
adjust_screen(Options = #{width = W, height = H, colors = _}) -> %%<br>
'colors = _' would match iff this key is set<br>
    io:fwrite("selected colors ~b~n", [Options.colors]),  %% or it can<br>
be Options#colors (confusing) or Options#.colors (awkward...)<br>
    do_something(...).<br>
<br>
I opt for inclusion of such structure into the language. It will<br>
combine power of dict (dynamic set key-value pairs) and power of<br>
tuples/records (pattern matching)</blockquote><div><br>I don't think that that will be the case. The suggestions for implementations given so far all assume relatively small structs/frames, they would not be replacements for dicts but a replacement, or rather a complement to, records.<br>
<br><br>This said I think that they would be a great feature and think they should be included.<br><br>Robert<br><br></div></div>