| Maintainer | bastiaan.heeren@ou.nl |
|---|---|
| Stability | provisional |
| Portability | portable (depends on ghc) |
| Safe Haskell | None |
| Language | Haskell98 |
Ideas.Common.Utils.Uniplate
Description
Exports a subset of Data.Generics.Uniplate.Direct (the Uniplate type
class and its utility plus constructor functions)
- class Uniplate on where
- 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]
- (|-) :: 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
Uniplate type class and utility functions
class Uniplate on where
Minimal complete definition
transformM :: (Monad m, Uniplate on) => (on -> m on) -> on -> m 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