Patrick Bahr  committed f4d9e2f

spelled out the lifting of the 'Desugar' type class over sums instead of using 'liftSum' to avoid bug in TemplateHaskell in GHC 7.6

  • Participants
  • Parent commits 575cbae
  • Tags version_0.6.1.1

Comments (0)

Files changed (2)

File compdata.cabal

 Name:			compdata
-Version:		0.6.1
 Synopsis:            	Compositional Data Types

File src/Data/Comp/Desugar.hs

 module Data.Comp.Desugar where
 import Data.Comp
-import Data.Comp.Derive
+import Data.Comp.Ops
 -- |The desugaring term homomorphism.
 class (Functor f, Functor g) => Desugar f g where
     desugHom' :: Alg f (Context g a)
     desugHom' x = appCxt (desugHom x)
-$(derive [liftSum] [''Desugar])
+instance (Desugar f h, Desugar g h) => Desugar (f :+: g) h where
+    desugHom (Inl x) = desugHom x
+    desugHom (Inr x) = desugHom x
 -- |Desugar a term.
 desugar :: Desugar f g => Term f -> Term g