chalmers-lava2000-1.6: Hardware description EDSL

Safe HaskellNone
LanguageHaskell98

Lava.Property

Documentation

generate :: Gen a -> IO a Source

class ChoiceWithSig a Source

Minimal complete definition

ifThenElseWithSig

class Fresh a where Source

Methods

fresh :: Gen a Source

Instances

Fresh () Source 
ConstructiveSig a => Fresh (Signal a) Source 
(CoFresh a, Choice b, Fresh b) => Fresh (a -> b) Source 
(Fresh a, Fresh b) => Fresh (a, b) Source 
(Fresh a, Fresh b, Fresh c) => Fresh (a, b, c) Source 
(Fresh a, Fresh b, Fresh c, Fresh d) => Fresh (a, b, c, d) Source 
(Fresh a, Fresh b, Fresh c, Fresh d, Fresh e) => Fresh (a, b, c, d, e) Source 
(Fresh a, Fresh b, Fresh c, Fresh d, Fresh e, Fresh f) => Fresh (a, b, c, d, e, f) Source 
(Fresh a, Fresh b, Fresh c, Fresh d, Fresh e, Fresh f, Fresh g) => Fresh (a, b, c, d, e, f, g) Source 

class CoFresh a where Source

Methods

cofresh :: (Choice b, Fresh b) => Gen b -> Gen (a -> b) Source

Instances

CoFresh () Source 
CoFresh a => CoFresh [a] Source 
ChoiceWithSig a => CoFresh (Signal a) Source 
(Finite a, CoFresh b) => CoFresh (a -> b) Source 
(CoFresh a, CoFresh b) => CoFresh (a, b) Source 
(CoFresh a, CoFresh b, CoFresh c) => CoFresh (a, b, c) Source 
(CoFresh a, CoFresh b, CoFresh c, CoFresh d) => CoFresh (a, b, c, d) Source 
(CoFresh a, CoFresh b, CoFresh c, CoFresh d, CoFresh e) => CoFresh (a, b, c, d, e) Source 
(CoFresh a, CoFresh b, CoFresh c, CoFresh d, CoFresh e, CoFresh f) => CoFresh (a, b, c, d, e, f) Source 
(CoFresh a, CoFresh b, CoFresh c, CoFresh d, CoFresh e, CoFresh f, CoFresh g) => CoFresh (a, b, c, d, e, f, g) Source 

double :: Gen a -> Gen (a, a) Source

triple :: Gen a -> Gen (a, a, a) Source

list :: Fresh a => Int -> Gen [a] Source

listOf :: Int -> Gen a -> Gen [a] Source

results :: Int -> Gen (a -> b) -> Gen (a -> [b]) Source

sequential :: (CoFresh a, Fresh b, Choice b) => Int -> Gen (a -> b) Source

forAll :: (ShowModel a, Checkable b) => Gen a -> (a -> b) -> Property Source

newtype Property Source

Constructors

P (Gen ([Signal Bool], Model -> [[String]])) 

class ShowModel a where Source

Methods

showModel :: Model -> a -> [String] Source

Instances

ShowModel () Source 
ShowModel a => ShowModel [a] Source 
ShowModel (Signal a) Source 
ShowModel (a -> b) Source 
(ShowModel a, ShowModel b) => ShowModel (a, b) Source 
(ShowModel a, ShowModel b, ShowModel c) => ShowModel (a, b, c) Source 
(ShowModel a, ShowModel b, ShowModel c, ShowModel d) => ShowModel (a, b, c, d) Source 
(ShowModel a, ShowModel b, ShowModel c, ShowModel d, ShowModel e) => ShowModel (a, b, c, d, e) Source 
(ShowModel a, ShowModel b, ShowModel c, ShowModel d, ShowModel e, ShowModel f) => ShowModel (a, b, c, d, e, f) Source 
(ShowModel a, ShowModel b, ShowModel c, ShowModel d, ShowModel e, ShowModel f, ShowModel g) => ShowModel (a, b, c, d, e, f, g) Source 

type Model = [(String, [String])] Source

properties :: Checkable a => a -> IO ([Signal Bool], Model -> [[String]]) Source