ideas-1.2: Feedback services for intelligent tutoring systems

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

Ideas.Common.Strategy.Abstract

Description

 

Synopsis

Documentation

data Strategy a Source

Abstract data type for strategies

class IsStrategy f whereSource

Type class to turn values into strategies

Methods

toStrategy :: f a -> Strategy aSource

label :: (IsId l, IsStrategy f) => l -> f a -> LabeledStrategy aSource

Labels a strategy with an identifier. Labels are used to identify substrategies and to specialize feedback messages. The first argument of label can be of type String, in which case the string is used as identifier (and not as description).

unlabel :: LabeledStrategy a -> Strategy aSource

Removes the label from a strategy

fullDerivationTree :: IsStrategy f => f a -> a -> DerivationTree (Step LabelInfo a) aSource

Returns the derivation tree for a strategy and a term, including all minor rules

derivationTree :: IsStrategy f => f a -> a -> DerivationTree (Rule a, Environment) aSource

Returns the derivation tree for a strategy and a term with only major rules

rulesInStrategy :: IsStrategy f => f a -> [Rule a]Source

Returns a list of all major rules that are part of a labeled strategy

mapRules :: (Rule a -> Rule b) -> LabeledStrategy a -> LabeledStrategy bSource

Apply a function to all the rules that make up a labeled strategy

mapRulesS :: (Rule a -> Rule b) -> Strategy a -> Strategy bSource

cleanUpStrategy :: (a -> a) -> LabeledStrategy a -> LabeledStrategy aSource

Use a function as do-after hook for all rules in a labeled strategy, but also use the function beforehand

cleanUpStrategyAfter :: (a -> a) -> LabeledStrategy a -> LabeledStrategy aSource

Use a function as do-after hook for all rules in a labeled strategy

liftCore2 :: (IsStrategy f, IsStrategy g) => (Core LabelInfo a -> Core LabelInfo a -> Core LabelInfo a) -> f a -> g a -> Strategy aSource

processLabelInfo :: (l -> LabelInfo) -> Core l a -> Core l aSource