ideas-1.2: Feedback services for intelligent tutoring systems

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

Ideas.Common.Strategy.Sequential

Description

 

Synopsis

Documentation

class Sequential f whereSource

Methods

ok, stop :: f aSource

single :: a -> f aSource

(~>) :: a -> f a -> f aSource

(<|>) :: f a -> f a -> f aSource

(<?>) :: f a -> f a -> f aSource

(<*>) :: f a -> f a -> f aSource

choice :: [f a] -> f aSource

data Process a Source

Instances

Sequential Process 
Eq a => Eq (Process a) 
Show a => Show (Process a) 

data Builder a Source

Instances

firsts :: Process a -> [(a, Process a)]Source

scanChoice :: (a -> b -> [(a, c)]) -> a -> Process b -> Process cSource

prune :: (a -> Bool) -> Process a -> Process aSource

data Sym a Source

Constructors

Single a 
Composed (Process a) 

atomic :: Sequential f => Process (Sym a) -> f (Sym a)Source

concurrent :: Sequential f => (a -> Bool) -> Process a -> Process a -> f aSource

(<@>) :: Sequential f => Process a -> Process a -> f aSource

replay :: Monad m => Path -> Process a -> m ([a], Process a)Source

uniquePath :: (a -> Bool) -> (a -> a -> Bool) -> Process a -> Process aSource

The uniquePath transformation changes the process in such a way that all intermediate states can only be reached by one path. A prerequisite is that symbols are unique (or only used once).

tidyProcess :: (a -> a -> Bool) -> (a -> Bool) -> Process a -> Process aSource