ideas-1.1: Feedback services for intelligent tutoring systems

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

Ideas.Common.Strategy.Core

Description

The core strategy combinators. This module defines the interal data structure of a strategy, and some utility functions that operate directly on it.

Synopsis

Documentation

data GCore l a Source

A generalized Core expression, not restricted to rules. This makes GCore a (traversable and foldable) functor.

Constructors

(GCore l a) :*: (GCore l a) 
(GCore l a) :|: (GCore l a) 
(GCore l a) :|>: (GCore l a) 
(GCore l a) :%: (GCore l a) 
(GCore l a) :!%: (GCore l a) 
Many (GCore l a) 
Repeat (GCore l a) 
Not (GCore l a) 
Label l (GCore l a) 
Atomic (GCore l a) 
Succeed 
Fail 
Rule a

Generalized constructor (not restricted to rules)

Var Int 
Rec Int (GCore l a) 

Instances

type Core l a = GCore l (Rule a)Source

Core expression, with rules

(.|.) :: GCore l a -> GCore l a -> GCore l aSource

(.*.) :: GCore l a -> GCore l a -> GCore l aSource

(.%.) :: GCore l a -> GCore l a -> GCore l aSource

coreMany :: GCore l a -> GCore l aSource

coreOrElse :: GCore l a -> GCore l a -> GCore l aSource

coreFix :: (GCore l a -> GCore l a) -> GCore l aSource

noLabels :: GCore l a -> GCore l aSource

substCoreVar :: Int -> GCore l a -> GCore l a -> GCore l aSource