- data TermConfiguration = TermConf {
- tcDefinedNames :: [QName]
- tcConstructorNames :: [QName]
- tcFreeVariables :: [Nat]
- tcLiterals :: UseLiterals
- tcFrequencies :: Frequencies
- tcFixSize :: Maybe Int
- tcIsType :: Bool
- data Frequencies = Freqs {}
- data TermFreqs = TermFreqs {}
- data NameFreqs = NameFreqs {}
- data HiddenFreqs = HiddenFreqs {
- hiddenFreq :: Int
- notHiddenFreq :: Int
- data SortFreqs = SortFreqs {}
- defaultFrequencies :: Frequencies
- noProp :: TermConfiguration -> TermConfiguration
- data UseLiterals = UseLit {
- useLitInt :: Bool
- useLitFloat :: Bool
- useLitString :: Bool
- useLitChar :: Bool
- noLiterals :: UseLiterals
- fixSizeConf :: Int -> TermConfiguration -> TermConfiguration
- resizeConf :: (Int -> Int) -> TermConfiguration -> TermConfiguration
- decrConf :: TermConfiguration -> TermConfiguration
- divConf :: TermConfiguration -> Int -> TermConfiguration
- isTypeConf :: TermConfiguration -> TermConfiguration
- isntTypeConf :: TermConfiguration -> TermConfiguration
- extendConf :: TermConfiguration -> TermConfiguration
- extendWithTelConf :: Telescope -> TermConfiguration -> TermConfiguration
- makeConfiguration :: [String] -> [String] -> [Nat] -> TermConfiguration
- class GenC a where
- genC :: TermConfiguration -> Gen a
- newtype YesType a = YesType {
- unYesType :: a
- newtype NoType a = NoType {
- unNoType :: a
- newtype VarName = VarName {}
- newtype DefName = DefName {}
- newtype ConName = ConName {}
- newtype SizedList a = SizedList {
- unSizedList :: [a]
- fixSize :: TermConfiguration -> Gen a -> Gen a
- genArgs :: TermConfiguration -> Gen Args
- genConf :: Gen TermConfiguration
- class ShrinkC a b | a -> b where
- shrinkC :: TermConfiguration -> a -> [b]
- noShrink :: a -> b
- killAbs :: KillVar a => Abs a -> a
- class KillVar a where
- isWellScoped :: Free a => TermConfiguration -> a -> Bool
- prop_wellScopedVars :: TermConfiguration -> Property
Documentation
data TermConfiguration Source
TermConf | |
|
data Frequencies Source
data UseLiterals Source
UseLit | |
|
resizeConf :: (Int -> Int) -> TermConfiguration -> TermConfigurationSource
makeConfiguration :: [String] -> [String] -> [Nat] -> TermConfigurationSource
genC :: TermConfiguration -> Gen aSource
fixSize :: TermConfiguration -> Gen a -> Gen aSource
genConf :: Gen TermConfigurationSource
Only generates default configurations. Names and free variables varies.
class ShrinkC a b | a -> b whereSource
shrinkC :: TermConfiguration -> a -> [b]Source
ShrinkC Char Char | |
ShrinkC Hiding Hiding | |
ShrinkC Literal Literal | |
ShrinkC Telescope Telescope | |
ShrinkC Sort Sort | |
ShrinkC Type Type | |
ShrinkC Term Term | |
ShrinkC ConName QName | |
ShrinkC DefName QName | |
ShrinkC VarName Nat | |
ShrinkC a b => ShrinkC (NoType a) b | |
ShrinkC a b => ShrinkC (YesType a) b | |
ShrinkC a b => ShrinkC [a] [b] | |
ShrinkC a b => ShrinkC (Arg a) (Arg b) | |
ShrinkC a b => ShrinkC (Abs a) (Abs b) | |
ShrinkC a b => ShrinkC (Blocked a) (Blocked b) | |
(ShrinkC a a', ShrinkC b b') => ShrinkC (a, b) (a', b') |
isWellScoped :: Free a => TermConfiguration -> a -> BoolSource
prop_wellScopedVars :: TermConfiguration -> PropertySource
Check that the generated terms don't have any out of scope variables.