CSPM-Interpreter-0.7.1.0: An interpreter for CSPM

Copyright(c) Fontaine 2008 - 2011
LicenseBSD3
MaintainerFontaine@cs.uni-duesseldorf.de
Stabilityexperimental
PortabilityGHC-only
Safe HaskellNone
LanguageHaskell2010

CSPM.Interpreter.Types

Description

Definitions of most of the types used in the interpreter. Also Instance declarations for the core language type families. INT is the type (index) for the CSPM interpreter.

Documentation

type Event = [Field] Source #

type FieldSet = SSet Field Source #

data Env Source #

Instances

MonadReader Env EM Source # 

Methods

ask :: EM Env #

local :: (Env -> Env) -> EM a -> EM a #

reader :: (Env -> a) -> EM a #

newtype EM x Source #

Constructors

EM 

Fields

Instances

Monad EM Source # 

Methods

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

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

return :: a -> EM a #

fail :: String -> EM a #

Functor EM Source # 

Methods

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

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

Applicative EM Source # 

Methods

pure :: a -> EM a #

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

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

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

MonadReader Env EM Source # 

Methods

ask :: EM Env #

local :: (Env -> Env) -> EM a -> EM a #

reader :: (Env -> a) -> EM a #

class Monad m => Eval m where Source #

Minimal complete definition

evalM

Methods

evalM :: LExp -> m Value Source #