quickcheck-state-machine-0.4.0: Test monadic programs using state machine based models

Copyright(C) 2017 ATS Advanced Telematic Systems GmbH
LicenseBSD-style (see the file LICENSE)
MaintainerStevan Andjelkovic <stevan@advancedtelematic.com>
Stabilityprovisional
Portabilitynon-portable (GHC extensions)
Safe HaskellSafe
LanguageHaskell2010

Test.StateMachine.Logic

Description

This module defines a predicate logic-like language and its counterexample semantics.

Documentation

data Logic Source #

Constructors

Bot 
Top 
Logic :&& Logic infixr 3 
Logic :|| Logic infixr 2 
Logic :=> Logic infixr 1 
Not Logic 
Predicate Predicate 
Show a => Forall [a] (a -> Logic) 
Show a => Exists [a] (a -> Logic) 
Boolean Bool 
Annotate String Logic 

data Predicate Source #

Constructors

(Eq a, Show a) => a :== a 
(Eq a, Show a) => a :/= a 
(Ord a, Show a) => a :< a 
(Ord a, Show a) => a :<= a 
(Ord a, Show a) => a :> a 
(Ord a, Show a) => a :>= a 
(Eq a, Show a) => Elem a [a] 
(Eq a, Show a) => NotElem a [a] 
Instances
Show Predicate Source # 
Instance details

Defined in Test.StateMachine.Logic

data Value Source #

Constructors

VFalse Counterexample 
VTrue 
Instances
Show Value Source # 
Instance details

Defined in Test.StateMachine.Logic

Methods

showsPrec :: Int -> Value -> ShowS #

show :: Value -> String #

showList :: [Value] -> ShowS #

(.==) :: (Eq a, Show a) => a -> a -> Logic infix 5 Source #

(./=) :: (Eq a, Show a) => a -> a -> Logic infix 5 Source #

(.<) :: (Ord a, Show a) => a -> a -> Logic infix 5 Source #

(.<=) :: (Ord a, Show a) => a -> a -> Logic infix 5 Source #

(.>) :: (Ord a, Show a) => a -> a -> Logic infix 5 Source #

(.>=) :: (Ord a, Show a) => a -> a -> Logic infix 5 Source #

elem :: (Eq a, Show a) => a -> [a] -> Logic infix 5 Source #

notElem :: (Eq a, Show a) => a -> [a] -> Logic infix 5 Source #

(.//) :: Logic -> String -> Logic infixl 4 Source #

forall :: Show a => [a] -> (a -> Logic) -> Logic Source #

exists :: Show a => [a] -> (a -> Logic) -> Logic Source #