compdata-0.3: Compositional Data Types

Portabilitynon-portable (GHC Extensions)
Stabilityexperimental
MaintainerTom Hvitved <hvitved@diku.dk>

Data.Comp.Multi.Desugar

Description

This modules defines the Desugar type class for desugaring of terms.

Synopsis

Documentation

class (HFunctor f, HFunctor g) => Desugar f g whereSource

The desugaring term homomorphism.

Instances

(HFunctor f, HFunctor g, f :<: g) => Desugar f g

Default desugaring instance.

(Desugar f g[a1mbH], Desugar g g[a1mbH]) => Desugar (:+: f g) g[a1mbH] 

desugar :: Desugar f g => Term f :-> Term gSource

Desugar a term.

desugarA :: (HFunctor f', HFunctor g', DistAnn f p f', DistAnn g p g', Desugar f g) => Term f' :-> Term g'Source

Lift desugaring to annotated terms.