ideas-1.8: Feedback services for intelligent tutoring systems

Maintainer bastiaan.heeren@ou.nl provisional portable (depends on ghc) None Haskell98

Ideas.Common.Strategy.Derived

Description

This module defines extra combinators.

Synopsis

# General combinators

permute :: (Choice a, Sequence a) => [a] -> a Source #

Allows all permutations of the list

many :: (Sequence a, Fix a, Choice a) => a -> a Source #

many1 :: (Sequence a, Fix a, Choice a) => a -> a Source #

replicate :: Sequence a => Int -> a -> a Source #

option :: (Choice a, Sequence a) => a -> a Source #

Apply a certain strategy or do nothing (non-greedy)

try :: (Choice a, Sequence a) => a -> a Source #

Apply a certain strategy if this is possible (greedy version of option)

repeat :: (Sequence a, Fix a, Choice a) => a -> a Source #

Repeat a strategy zero or more times (greedy version of many)

repeat1 :: (Sequence a, Fix a, Choice a) => a -> a Source #

Apply a certain strategy at least once (greedy version of many1)

exhaustive :: (Sequence a, Fix a, Choice a) => [a] -> a Source #

Apply the strategies from the list exhaustively (until this is no longer possible)

# Process-specific combinators

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

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