ideas-1.7: Feedback services for intelligent tutoring systems

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

Ideas.Common.Strategy.Process

Description

Processes support choices and sequences and are modelled after Hoare's CSP calculus.

Synopsis

Documentation

data Process a Source #

Process data type with efficient support for sequences

Instances

Functor Process Source # 

Methods

fmap :: (a -> b) -> Process a -> Process b #

(<$) :: a -> Process b -> Process a #

Eq a => Eq (Process a) Source # 

Methods

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

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

Fix (Process a) Source # 

Methods

fix :: (Process a -> Process a) -> Process a Source #

Choice (Process a) Source # 
Firsts (Process a) Source # 

Associated Types

type Elem (Process a) :: * Source #

Methods

ready :: Process a -> Bool Source #

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

Sequence (Process a) Source # 

Associated Types

type Sym (Process a) :: * Source #

type Elem (Process a) Source # 
type Elem (Process a) = a
type Sym (Process a) Source # 
type Sym (Process a) = a

eqProcessBy :: (a -> a -> Bool) -> Process a -> Process a -> Bool Source #

Generalized equality of processes, which takes an equality function for the symbols.

withMenu :: Choice b => (a -> Process a -> b) -> b -> Process a -> b Source #

fold :: Choice b => (a -> b -> b) -> b -> Process a -> b Source #

runProcess :: Apply f => Process (f a) -> a -> [a] Source #