compdata-0.6.1.4: Compositional Data Types

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

Data.Comp.Param.Desugar

Description

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

Synopsis

Documentation

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

The desugaring term homomorphism.

Methods

desugHom :: Hom f gSource

desugHom' :: f a (Cxt h g a b) -> Cxt h g a bSource

Instances

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

Default desugaring instance.

(Desugar f h, Desugar g h) => Desugar (:+: f g) h 

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

Desugar a term.

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

Lift desugaring to annotated terms.