Some of your comments seem to not fully recognize the name-spacing (plus simple type resolution) aspect of this proposal that I probably didn&#39;t explain well enough. Or maybe I don&#39;t understand your comments.<div><br>

<div>For record.field, field is under the record&#39;s namespace. A namespace (from a module or under the new system a record), cannot export conflicting names, and there this system prevents the importer from every having a conflict with a record field name because the field is still under the record&#39;s namespace when imported. The type system must resolve the type of the record, and generally the field cannot contribute to this effort.</div>

<div><br></div><div>Otherwise the comments have some good ideas and details that I will have time to look over in more detail and incorporate into the wiki later.</div><div><br><div class="gmail_quote">On Mon, Jan 9, 2012 at 6:07 PM, Greg Weber <span dir="ltr">&lt;<a href="mailto:greg@gregweber.info">greg@gregweber.info</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br><br><div class="gmail_quote"><div class="im">On Mon, Jan 9, 2012 at 2:22 PM, Isaac Dupree <span dir="ltr">&lt;<a href="mailto:ml@isaac.cedarswampstudios.org" target="_blank">ml@isaac.cedarswampstudios.org</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
You mean this wiki page, right?:<br>
<a href="http://hackage.haskell.org/trac/ghc/wiki/Records/NameSpacing" target="_blank">http://hackage.haskell.org/<u></u>trac/ghc/wiki/Records/<u></u>NameSpacing</a><div><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
That is, there are no fundamental<br>
objections to the implementation of this records implementation.<br>
</blockquote>
<br></div>
I think that might be overly optimistic... I think there&#39;s a risk that SPJ finds an irritating complication to type inference &amp; the rest of us aren&#39;t type-system-savvy enough to continue trying to guess at that :) But I think you&#39;re referring to whether we object to ad-hoc overloading of record field names (neither parametric nor class-based polymorphism), if no difficulties crop up.  Some of the concerns on <a href="http://www.haskell.org/haskellwiki/TypeDirectedNameResolution" target="_blank">http://www.haskell.org/<u></u>haskellwiki/<u></u>TypeDirectedNameResolution</a> apply -- I&#39;m not sure to what extent, but address those concerns rather than require those people to repeat themselves again! :)<br>



<br>
(If we dodge all those obstacles, well, a better record system is better!)<br>
<br></blockquote><div><br></div></div><div>This shouldn&#39;t complicate type inference (other than the fact that we must avoid a left-right bias?) because the record field names are not overloaded - instead it puts some burden back on the user to add more type annotations. The difficult aspect of TDNR was that it was assuming overloading - although there is really no reason why it can&#39;t instead assume name-spacing. TDNR and this record proposal share many of the same syntax issues you list. Thanks for the detailed feedback! I am travelling right now, will review when I get a chance.</div>


<div><br></div><font color="#888888"><div>Greg Weber</div></font></div><br>
</blockquote></div><br></div></div>