nom-0.1.0.1: Name-binding & alpha-equivalence

Safe HaskellNone
LanguageHaskell2010

Language.Nominal.Properties.SpecUtilities

Contents

Documentation

myAtoms :: proxy s -> [KAtom s] Source #

genEvFinMap :: (UnifyPerm a, Eq a, Eq b) => Gen a -> Gen b -> Gen (EvFinMap a b) Source #

Orphan instances

Arbitrary String Source #

We only care about short and simple strings

Instance details

Arbitrary Trm Source #

For QuickCheck tests: pick a term

Instance details

Methods

arbitrary :: Gen Trm #

shrink :: Trm -> [Trm] #

Arbitrary Typ Source #

For QuickCheck tests: pick a type

Instance details

Methods

arbitrary :: Gen Typ #

shrink :: Typ -> [Typ] #

Arbitrary a => Arbitrary (NonEmpty a) Source # 
Instance details

Methods

arbitrary :: Gen (NonEmpty a) #

shrink :: NonEmpty a -> [NonEmpty a] #

Arbitrary (Name String) Source # 
Instance details

Arbitrary (KAtom s) Source #

Pick an atom

Instance details

Methods

arbitrary :: Gen (KAtom s) #

shrink :: KAtom s -> [KAtom s] #

Arbitrary a => Arbitrary (KName s a) Source # 
Instance details

Methods

arbitrary :: Gen (KName s a) #

shrink :: KName s a -> [KName s a] #

(Typeable s, Swappable a, Arbitrary a) => Arbitrary (KNom s a) Source # 
Instance details

Methods

arbitrary :: Gen (KNom s a) #

shrink :: KNom s a -> [KNom s a] #

(Typeable s, Swappable t, Swappable a, Arbitrary (KName s t), Arbitrary a) => Arbitrary (KAbs (KName s t) a) Source # 
Instance details

Methods

arbitrary :: Gen (KAbs (KName s t) a) #

shrink :: KAbs (KName s t) a -> [KAbs (KName s t) a] #

(Arbitrary a, UnifyPerm a, Eq a, Arbitrary b, Eq b) => Arbitrary (EvFinMap a b) Source # 
Instance details

Methods

arbitrary :: Gen (EvFinMap a b) #

shrink :: EvFinMap a b -> [EvFinMap a b] #