Copyright | (C) 2017 ATS Advanced Telematic Systems GmbH |
---|---|
License | BSD-style (see the file LICENSE) |
Maintainer | Stevan Andjelkovic <stevan@advancedtelematic.com> |
Stability | provisional |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
Language | Haskell2010 |
This module contains the notion of a history of an execution of a (parallel) program.
- newtype History act err = History {}
- type History' act err = [HistoryEvent (UntypedConcrete act) err]
- ppHistory :: forall model act err. Show (model Concrete) => Show err => model Concrete -> Transition' model act err -> History act err -> String
- data HistoryEvent act err
- = InvocationEvent act String Var Pid
- | ResponseEvent (Result err Dynamic) String Pid
- getProcessIdEvent :: HistoryEvent act err -> Pid
- data UntypedConcrete (act :: (* -> *) -> * -> *) where
- UntypedConcrete :: (Show resp, Typeable resp) => act Concrete resp -> UntypedConcrete act
- data Operation act err = Typeable resp => Operation (act Concrete resp) String (Result err resp) String Pid
- linearTree :: History' act err -> [Tree (Operation act err)]
Documentation
type History' act err = [HistoryEvent (UntypedConcrete act) err] Source #
A trace is a list of events.
ppHistory :: forall model act err. Show (model Concrete) => Show err => model Concrete -> Transition' model act err -> History act err -> String Source #
Pretty print a history.
data HistoryEvent act err Source #
An event is either an invocation or a response.
InvocationEvent act String Var Pid | |
ResponseEvent (Result err Dynamic) String Pid |
getProcessIdEvent :: HistoryEvent act err -> Pid Source #
Get the process id of an event.
data UntypedConcrete (act :: (* -> *) -> * -> *) where Source #
Untyped concrete actions.
UntypedConcrete :: (Show resp, Typeable resp) => act Concrete resp -> UntypedConcrete act |