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 exports some types that are used internally by the library.
- newtype Program act = Program {}
- programLength :: Program act -> Int
- newtype ParallelProgram act = ParallelProgram {
- unParallelProgram :: Fork (Program act)
- newtype Pid = Pid Int
- data Fork a = Fork a a a
- data Internal act where
Documentation
A (sequential) program is an abstract datatype representing a list of actions.
The idea is that the user shows how to generate, shrink, execute and modelcheck individual actions, and then the below combinators lift those things to whole programs.
programLength :: Program act -> Int Source #
Returns the number of actions in a program.
newtype ParallelProgram act Source #
A parallel program is an abstract datatype that represents three sequences of actions; a sequential prefix and two parallel suffixes. Analogous to the sequential case, the user shows how to generate, shrink, execute and modelcheck individual actions, and then the below combinators lift those things to whole parallel programs.
ParallelProgram | |
|
Forks are used to represent parallel programs.
Fork a a a |