deep-transformations-0: Deep natural and unnatural tree transformations, including attribute grammars
Safe HaskellNone
LanguageHaskell2010

Transformation.Shallow

Synopsis

Documentation

class (Transformation t, Functor g) => Functor t g where Source #

Like Functor except it takes a Transformation instead of a polymorphic function

Methods

(<$>) :: t -> g (Domain t) -> g (Codomain t) Source #

Instances

Instances details
(Functor t g, Functor t h) => Functor t (Product g h) Source # 
Instance details

Defined in Transformation.Shallow

Methods

(<$>) :: t -> Product g h (Domain t) -> Product g h (Codomain t) Source #

class (Transformation t, Foldable g) => Foldable t g where Source #

Like Foldable except it takes a Transformation instead of a polymorphic function

Methods

foldMap :: (Codomain t ~ Const m, Monoid m) => t -> g (Domain t) -> m Source #

Instances

Instances details
(Foldable t g, Foldable t h, Codomain t ~ (Const m :: Type -> Type), Monoid m) => Foldable t (Product g h) Source # 
Instance details

Defined in Transformation.Shallow

Methods

foldMap :: (Codomain t ~ Const m, Monoid m) => t -> Product g h (Domain t) -> m Source #

class (Transformation t, Traversable g) => Traversable t g where Source #

Like Traversable except it takes a Transformation instead of a polymorphic function

Methods

traverse :: Codomain t ~ Compose m f => t -> g (Domain t) -> m (g f) Source #

Instances

Instances details
(Traversable t g, Traversable t h, Codomain t ~ Compose m f, Applicative m) => Traversable t (Product g h) Source # 
Instance details

Defined in Transformation.Shallow

Methods

traverse :: forall m (f :: Type -> Type). Codomain t ~ Compose m f => t -> Product g h (Domain t) -> m (Product g h f) Source #

fmap :: Functor t g => t -> g (Domain t) -> g (Codomain t) Source #

Alphabetical synonym for <$>