ideas-1.4: Feedback services for intelligent tutoring systems

Maintainerbastiaan.heeren@ou.nl
Stabilityprovisional
Portabilityportable (depends on ghc)
Safe HaskellNone
LanguageHaskell98

Ideas.Common.Utils.Uniplate

Contents

Description

Exports a subset of Data.Generics.Uniplate.Direct (the Uniplate type class and its utility plus constructor functions)

Synopsis

Uniplate type class and utility functions

class Uniplate on where

Minimal complete definition

uniplate

Methods

uniplate :: on -> (Str on, Str on -> on)

descend :: (on -> on) -> on -> on

descendM :: Monad m => (on -> m on) -> on -> m on

children :: Uniplate on => on -> [on]

contexts :: Uniplate on => on -> [(on, on -> on)]

descend :: Uniplate on => (on -> on) -> on -> on

descendM :: Uniplate on => forall m. Monad m => (on -> m on) -> on -> m on

holes :: Uniplate on => on -> [(on, on -> on)]

para :: Uniplate on => (on -> [r] -> r) -> on -> r

rewrite :: Uniplate on => (on -> Maybe on) -> on -> on

rewriteM :: (Monad m, Uniplate on) => (on -> m (Maybe on)) -> on -> m on

transform :: Uniplate on => (on -> on) -> on -> on

transformM :: (Monad m, Uniplate on) => (on -> m on) -> on -> m on

uniplate :: Uniplate on => on -> (Str on, Str on -> on)

universe :: Uniplate on => on -> [on]

Instance constructors

(|-) :: Type (item -> from) to -> item -> Type from to

(|*) :: Type (to -> from) to -> to -> Type from to

(||*) :: Type ([to] -> from) to -> [to] -> Type from to

plate :: from -> Type from to