forsyde / forsyde-deep

Other
1 stars 2 forks source link

Include "instance Data a => Lift a" in ForSyDe #16

Open HWoidt opened 8 years ago

HWoidt commented 8 years ago

Issue by HWoidt Saturday Jul 11, 2015 at 13:04 GMT Originally opened as https://gits-15.sys.kth.se/ingo/forsyde-deep/issues/16


Reported by alfonso....@gmail.com, Jun 23, 2008

As we know, all the types handled by ForSyDe are required to be instances of Data.

Creating a "Data a => Lift a" (undecidable) instance would make all instances of Data (and implicilty all ForSyDe-supported types) also instances of Lift, sparing us from needing to use $(deriveLift WhateverDataType).

I created ticket [1] in GHC's track asking for this feature a while ago, and they accepted to include it in GHC 6.10, but that won't happen in a while.

[1] http://hackage.haskell.org/trac/ghc/ticket/1830

HWoidt commented 8 years ago

Comment by HWoidt Saturday Jan 23, 2016 at 07:11 GMT


There has been an update on the GHC ticket. The upcoming version of GHC will support automatic derivation of the Lift instance using "... deriving Lift" through the -XDeriveLift extension.

https://ghc.haskell.org/trac/ghc/ticket/1830 https://phabricator.haskell.org/D1168 https://phabricator.haskell.org/D1269