ideas-1.1: 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 a string

unlabel :: LabeledStrategy a -> Strategy aSource

Removes the label from a strategy

fullDerivationTree :: IsStrategy f => Bool -> 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 => Bool -> 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