GHC: Ticket #7492: Generic1 deriving: Can we replace Rec1 f with f :.: Par1?
http://ghc.haskell.org/trac/ghc/ticket/7492
<p>
It seems like <tt>Rec1 f</tt> is isomorphic to <tt>f :.: Par1</tt>. Is it possible and beneficial to replace the former with the latter and deprecate/remove <tt>Rec1</tt>?
</p>
<ol><li>Currently, a parameter type is found in <tt>Par1</tt> or <tt>Rec1</tt>. By removing <tt>Rec1</tt>, there would be only one place for parameters. This simplifies generic functions.
</li><li>It is in the interest of reducing redundancy in the representation, something that appears to be consistent with the design of the representation types (e.g. using the same type for multiple meanings).
</li></ol>en-usGHChttp://ghc.haskell.org/trac/ghc/chrome/site/ghc_logo.png
http://ghc.haskell.org/trac/ghc/ticket/7492
Trac 1.0.1simonpjMon, 10 Dec 2012 09:17:00 GMTcc changed; difficulty, owner set
http://ghc.haskell.org/trac/ghc/ticket/7492#comment:1
http://ghc.haskell.org/trac/ghc/ticket/7492#comment:1
<ul>
<li><strong>cc</strong>
changed from <em>leather@cs.uu.nl</em> to <em>leather@cs.uu.nl, </em>
</li>
<li><strong>difficulty</strong>
set to <em>Unknown</em>
</li>
<li><strong>owner</strong>
set to <em>dreixel</em>
</li>
</ul>
TicketdreixelMon, 10 Dec 2012 16:38:20 GMT
http://ghc.haskell.org/trac/ghc/ticket/7492#comment:2
http://ghc.haskell.org/trac/ghc/ticket/7492#comment:2
<p>
You raise an interesting point, thanks. I think replacing <tt>Rec1 f</tt> with <tt>f :.: Par1</tt> would be possible. But I'm not too keen on making a change to the representation right now, as I think there might be more fundamental changes coming up anyway (e.g. making use of <tt>DataKinds</tt>). But I'm leaving this open so that we don't forget the idea.
</p>
TicketiglooFri, 12 Apr 2013 21:01:17 GMTmilestone set
http://ghc.haskell.org/trac/ghc/ticket/7492#comment:3
http://ghc.haskell.org/trac/ghc/ticket/7492#comment:3
<ul>
<li><strong>milestone</strong>
set to <em>7.8.1</em>
</li>
</ul>
Ticket