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
- data ParallelProgram act = ParallelProgram (Program act) [(Program act, Program act)]
- parallelProgramLength :: ParallelProgram act -> Int
- parallelProgramToList :: [(Program act, Program act)] -> [Program act]
- parallelProgramFromList :: [Program act] -> [(Program act, Program act)]
- parallelProgramAsList :: ([Program act] -> [Program act]) -> [(Program act, Program act)] -> [(Program act, Program act)]
- flattenParallelProgram :: ParallelProgram act -> Program act
- newtype Pid = Pid Int
- 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.
data ParallelProgram act Source #
ParallelProgram (Program act) [(Program act, Program act)] |
parallelProgramLength :: ParallelProgram act -> Int Source #
parallelProgramAsList :: ([Program act] -> [Program act]) -> [(Program act, Program act)] -> [(Program act, Program act)] Source #
flattenParallelProgram :: ParallelProgram act -> Program act Source #