ideas-1.8: Feedback services for intelligent tutoring systems

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

Ideas.Common.Traversal.Utils

Contents

Description

 
Synopsis

Update type class

class Update f where Source #

Minimal complete definition

update

Methods

update :: f a -> (a, a -> f a) Source #

Instances
Update ListIterator Source # 
Instance details

Defined in Ideas.Common.Traversal.Iterator

Methods

update :: ListIterator a -> (a, a -> ListIterator a) Source #

Update UniplateNavigator Source # 
Instance details

Defined in Ideas.Common.Traversal.Navigator

Update Leafs Source # 
Instance details

Defined in Ideas.Common.Traversal.Navigator

Methods

update :: Leafs a -> (a, a -> Leafs a) Source #

Update Horizontal Source # 
Instance details

Defined in Ideas.Common.Traversal.Navigator

Methods

update :: Horizontal a -> (a, a -> Horizontal a) Source #

Update LevelOrder Source # 
Instance details

Defined in Ideas.Common.Traversal.Navigator

Methods

update :: LevelOrder a -> (a, a -> LevelOrder a) Source #

Update PostOrder Source # 
Instance details

Defined in Ideas.Common.Traversal.Navigator

Methods

update :: PostOrder a -> (a, a -> PostOrder a) Source #

Update PreOrder Source # 
Instance details

Defined in Ideas.Common.Traversal.Navigator

Methods

update :: PreOrder a -> (a, a -> PreOrder a) Source #

current :: Update f => f a -> a Source #

change :: Update f => (a -> a) -> f a -> f a Source #

replace :: Update f => a -> f a -> f a Source #

changeM :: Update f => (a -> Maybe a) -> f a -> Maybe (f a) Source #

changeG :: (Update f, Monad g) => (a -> g a) -> f a -> g (f a) Source #

Focus type class

class Focus a where Source #

Minimal complete definition

unfocus

Associated Types

type Unfocus a Source #

Methods

focus :: Unfocus a -> a Source #

focusM :: Unfocus a -> Maybe a Source #

unfocus :: a -> Unfocus a Source #

liftFocus :: Focus a => (Unfocus a -> Maybe (Unfocus a)) -> a -> Maybe a Source #

unliftFocus :: Focus a => (a -> Maybe a) -> Unfocus a -> Maybe (Unfocus a) Source #

Wrapper type class

class Wrapper f where Source #

Minimal complete definition

wrap, unwrap

Methods

wrap :: a -> f a Source #

unwrap :: f a -> a Source #

Instances
Wrapper Mirror Source # 
Instance details

Defined in Ideas.Common.Traversal.Utils

Methods

wrap :: a -> Mirror a Source #

unwrap :: Mirror a -> a Source #

Wrapper Leafs Source # 
Instance details

Defined in Ideas.Common.Traversal.Navigator

Methods

wrap :: a -> Leafs a Source #

unwrap :: Leafs a -> a Source #

Wrapper Horizontal Source # 
Instance details

Defined in Ideas.Common.Traversal.Navigator

Methods

wrap :: a -> Horizontal a Source #

unwrap :: Horizontal a -> a Source #

Wrapper LevelOrder Source # 
Instance details

Defined in Ideas.Common.Traversal.Navigator

Methods

wrap :: a -> LevelOrder a Source #

unwrap :: LevelOrder a -> a Source #

Wrapper PostOrder Source # 
Instance details

Defined in Ideas.Common.Traversal.Navigator

Methods

wrap :: a -> PostOrder a Source #

unwrap :: PostOrder a -> a Source #

Wrapper PreOrder Source # 
Instance details

Defined in Ideas.Common.Traversal.Navigator

Methods

wrap :: a -> PreOrder a Source #

unwrap :: PreOrder a -> a Source #

liftWrapper :: (Monad m, Wrapper f) => (a -> m a) -> f a -> m (f a) Source #

unliftWrapper :: (Monad m, Wrapper f) => (f a -> m (f a)) -> a -> m a Source #

mapWrapper :: Wrapper f => (a -> a) -> f a -> f a Source #

Mirror

data Mirror a Source #

Instances
Wrapper Mirror Source # 
Instance details

Defined in Ideas.Common.Traversal.Utils

Methods

wrap :: a -> Mirror a Source #

unwrap :: Mirror a -> a Source #

Eq a => Eq (Mirror a) Source # 
Instance details

Defined in Ideas.Common.Traversal.Utils

Methods

(==) :: Mirror a -> Mirror a -> Bool #

(/=) :: Mirror a -> Mirror a -> Bool #

Show a => Show (Mirror a) Source # 
Instance details

Defined in Ideas.Common.Traversal.Utils

Methods

showsPrec :: Int -> Mirror a -> ShowS #

show :: Mirror a -> String #

showList :: [Mirror a] -> ShowS #

Iterator a => Iterator (Mirror a) Source # 
Instance details

Defined in Ideas.Common.Traversal.Iterator

Navigator a => Navigator (Mirror a) Source # 
Instance details

Defined in Ideas.Common.Traversal.Navigator

Utility functions

(>|<) :: (a -> Maybe a) -> (a -> Maybe a) -> a -> Maybe a infixr 0 Source #

safe :: (a -> Maybe a) -> a -> a Source #

fixp :: (a -> Maybe a) -> a -> a Source #

fixpl :: (a -> Maybe a) -> a -> [a] Source #

mplus :: MonadPlus m => m a -> m a -> m a #

An associative operation. The default definition is

mplus = (<|>)

(>=>) :: Monad m => (a -> m b) -> (b -> m c) -> a -> m c infixr 1 #

Left-to-right Kleisli composition of monads.