| Copyright | (c) 2011 Patrick Bahr, Tom Hvitved |
|---|---|
| License | BSD3 |
| Maintainer | Tom Hvitved <hvitved@diku.dk> |
| Stability | experimental |
| Portability | non-portable (GHC Extensions) |
| Safe Haskell | None |
| Language | Haskell98 |
Data.Comp.Param.Multi.Desugar
Description
This modules defines the Desugar type class for desugaring of terms.
Documentation
class (HDifunctor f, HDifunctor g) => Desugar f g where Source
The desugaring term homomorphism.
Minimal complete definition
Nothing
Instances
| (HDifunctor f, HDifunctor g, (:<:) f g) => Desugar f g | Default desugaring instance. |
| (Desugar f h, Desugar g h) => Desugar ((:+:) f g) h |
desugarA :: (HDifunctor f', HDifunctor g', DistAnn f p f', DistAnn g p g', Desugar f g) => Term f' :-> Term g' Source
Lift desugaring to annotated terms.