<div dir="ltr">On Mon, Nov 5, 2012 at 4:15 PM, Stephen Tetley <span dir="ltr">&lt;<a href="mailto:stephen.tetley@gmail.com" target="_blank">stephen.tetley@gmail.com</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
There is a long extant GHC extension to elide constructor arguments<br></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
f (Leaf {}) = ...<br>
f (Node {}) = ...<br></blockquote><div><br></div><div>I don&#39;t think that&#39;s an extension, it falls out directly from how Haskell builds records on top of ADTs and is specified in the standard as such.  See <a href="http://www.haskell.org/onlinereport/decls.html">http://www.haskell.org/onlinereport/decls.html</a> at the end of the &quot;Labelled Fields&quot; section for Haskell98, or the middle of section 3.15.2 in <a href="http://www.haskell.org/onlinereport/haskell2010/haskellch3.html#x8-490003.15">http://www.haskell.org/onlinereport/haskell2010/haskellch3.html#x8-490003.15</a> for the H&#39;2010 version.</div>
<div><br></div></div>-- <br><div dir="ltr"><div>brandon s allbery kf8nh                               sine nomine associates</div><div><a href="mailto:allbery.b@gmail.com" target="_blank">allbery.b@gmail.com</a>                                  <a href="mailto:ballbery@sinenomine.net" target="_blank">ballbery@sinenomine.net</a></div>
<div>unix/linux, openafs, kerberos, infrastructure          <a href="http://sinenomine.net" target="_blank">http://sinenomine.net</a></div></div><br>
</div>