<br><br>
<div class="gmail_quote">On Feb 6, 2008 11:33 AM, Simon Peyton-Jones &lt;<a href="mailto:simonpj@microsoft.com">simonpj@microsoft.com</a>&gt; wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div lang="EN-GB" vlink="purple" link="blue">
<div>
<p><span style="FONT-SIZE: 11pt; COLOR: #1f497d">&nbsp;</span></p>
<div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: blue 1.5pt solid; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none">
<div class="Ih2E3d">
<div>
<p>This sort of disagreement means that nothing gets done. After my<br>experience with the wiki page, I don&#39;t believe anything will get done<br>until one of the core ghc developers makes some arbitrary decisions<br>and implements whatever they want to, which will then eventually<br>
become part of the standard by default.</p>
<div>
<div>
<p>&nbsp;</p></div></div></div>
<div>
<p><br>This is the sort of situation where a &quot;benign dictator&quot; is needed. I have no strong feelings about which of all of these (all very good) proposals get implemented, but I do have a strong opinion that the lack of &quot;proper&quot; records is hurting Haskell quite a bit. </p>
</div>
<div>
<p>&nbsp;</p></div></div>
<div>
<div class="Ih2E3d">
<p>Any of them will do, just get it in there! I&#39;m assuming that Simon {PJ,M} et al. won&#39;t make an obviously terrible choice, and GHC seems to be the de facto standard anyway, so if they just implemented something in GHC that would be good enough for me, and a shoe-in for a future standard.<span style="COLOR: #1f497d"></span></p>

<p><span style="FONT-SIZE: 11pt; COLOR: #1f497d">&nbsp;</span></p></div>
<p><span style="FONT-SIZE: 11pt; COLOR: #1f497d">Since you are taking my name in vain, I had better respond!&nbsp; I wish I felt as confident of my good taste as you do. My last attempt to implement records (with Umut Acar, more or less the design in the "proposal for records" paper) involved rather significant changes to the type checker, and I was reluctant to commit to them without stronger evidence that it was a good design. </span></p>

<p><span style="FONT-SIZE: 11pt; COLOR: #1f497d">&nbsp;</span></p>
<p><span style="FONT-SIZE: 11pt; COLOR: #1f497d">I'm not so despondent about the Wiki page. It's already a good start.&nbsp; Don't give up too soon!</span></p>
<p><span style="FONT-SIZE: 11pt; COLOR: #1f497d">&nbsp;</span></p>
<p><span style="FONT-SIZE: 11pt; COLOR: #1f497d">You say that "lack of proper records is hurting Haskell". &nbsp;&nbsp;I think it'd help to give much more structure to that statement.&nbsp; "proper records" means different things to different people. &nbsp;&nbsp;After all Haskell already has somethng you can call "records" but they obviously aren't "proper" for you.&nbsp; </span></p>

<p></p></div></div></div></div></blockquote>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>So to clarify that statement. Honestly the number one problem I have with the current records system is that labels share the same namespace. This makes interfacing with any C library using structs quite painful. This is why I say that I don&#39;t really care which gets implemented. The current system is *painful* IMO, so anything which improves on it would be welcome (even if just puts the record accessors in a per-record namespace, where with syntactic sugar to avoid having to qualify it).</div>

<div>
<p>Now, I do think that if we&#39;re going to remedy that situation, we might as well take the opportunity to&nbsp;make them lightweight (i.e. not require a data type), with polymorphic fields etc, but those all of those things are distant second priority to the one &quot;showstopper&quot; for the current records, IMO.</p>
</div>
<div>Sebastian</div></div>