Advise-me-0.1: Assessment services for the Advise-Me project

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

Recognize.Model.EvidenceBuilder

Description

This module describes the underlying mechanism for generating evidence given constraints over attributes.

Synopsis

Documentation

data EvBuilder a Source #

Builder that consumes attributes and produces evidence. It Maintains a quadruple state:

  1. Evidence -- The generated evidence
  2. [[Attribute]] -- Remaining Attributes per step
  3. M.Map String Expr -- Maps variable names to expressions
Instances
Monad EvBuilder Source # 
Instance details

Defined in Recognize.Model.EvidenceBuilder

Methods

(>>=) :: EvBuilder a -> (a -> EvBuilder b) -> EvBuilder b #

(>>) :: EvBuilder a -> EvBuilder b -> EvBuilder b #

return :: a -> EvBuilder a #

fail :: String -> EvBuilder a #

Functor EvBuilder Source # 
Instance details

Defined in Recognize.Model.EvidenceBuilder

Methods

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

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

Applicative EvBuilder Source # 
Instance details

Defined in Recognize.Model.EvidenceBuilder

Methods

pure :: a -> EvBuilder a #

(<*>) :: EvBuilder (a -> b) -> EvBuilder a -> EvBuilder b #

liftA2 :: (a -> b -> c) -> EvBuilder a -> EvBuilder b -> EvBuilder c #

(*>) :: EvBuilder a -> EvBuilder b -> EvBuilder b #

(<*) :: EvBuilder a -> EvBuilder b -> EvBuilder a #

Semigroup (EvBuilder a) Source # 
Instance details

Defined in Recognize.Model.EvidenceBuilder

Methods

(<>) :: EvBuilder a -> EvBuilder a -> EvBuilder a #

sconcat :: NonEmpty (EvBuilder a) -> EvBuilder a #

stimes :: Integral b => b -> EvBuilder a -> EvBuilder a #

Semigroup (Constraint EvBuilder a) Source # 
Instance details

Defined in Recognize.Model.Constraint

Monoid (Constraint EvBuilder a) Source # 
Instance details

Defined in Recognize.Model.Constraint

putAttributes :: [[Attribute]] -> EvBuilder () Source #

Replaces the attributes in the state

updateVar :: String -> Expr -> EvBuilder () Source #

Give an existing variable a new value

getValueOf :: Expr -> EvBuilder Expr Source #

Retrieve the value belonging to a variable

setValueOf :: Expr -> Expr -> EvBuilder () Source #

Expr wrapper over updateVar

newVar :: String -> EvBuilder Expr Source #

Creates a new wildcard variable