-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtauts.hs
41 lines (34 loc) · 884 Bytes
/
tauts.hs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{-# LANGUAGE TemplateHaskell #-}
{-# Language DeriveDataTypeable, StandaloneDeriving #-} -- for GHC < 7.10
import Test.Speculate hiding (Name(..))
import qualified Test.Speculate as S
import Taut hiding (main)
deriveListable ''Name
deriveListable ''Prop
deriving instance Typeable Name
deriving instance Typeable Prop
prop :: Prop
prop = undefined
name :: Name
name = undefined
instance S.Name Prop where name _ = "p"
instance S.Name Name where name _ = "n"
main :: IO ()
main = speculate args
{ instances =
[ reifyInstances prop
, reifyInstances name
]
, showConditions = True
, maxVars = 2
, maxTests = 4000
, constants =
[ showConstant False
, showConstant True
, constant "==" ((==) -:> prop)
, constant "eval" eval
, constant "varOf" varOf
, constant "subst" subst
, constant "taut" taut
]
}