Agda-2.5.1.2: A dependently typed functional programming language and proof assistant

Safe HaskellNone
LanguageHaskell98

Agda.TypeChecking.Test.Generators

Synopsis

Documentation

data TermConfiguration Source #

Constructors

TermConf 

Fields

data TermFreqs Source #

Constructors

TermFreqs 

Fields

data ElimFreqs Source #

Constructors

ElimFreqs 

Fields

data SortFreqs Source #

Constructors

SortFreqs 

Fields

class GenC a where Source #

Minimal complete definition

genC

Instances

GenC Char Source # 
GenC Double Source # 
GenC Integer Source # 
GenC Range Source # 
GenC Hiding Source # 
GenC Literal Source # 
GenC Sort Source # 
GenC Telescope Source # 
GenC Type Source # 
GenC Term Source # 
GenC ProjName Source # 
GenC DefName Source # 
GenC a => GenC [a] Source # 

Methods

genC :: TermConfiguration -> Gen [a] Source #

GenC a => GenC (Dom a) Source # 
GenC a => GenC (Arg a) Source # 
GenC a => GenC (Abs a) Source # 
GenC a => GenC (Elim' a) Source # 
GenC a => GenC (SizedList a) Source # 
(GenC a, GenC b) => GenC (a, b) Source # 

Methods

genC :: TermConfiguration -> Gen (a, b) Source #

newtype YesType a Source #

Constructors

YesType 

Fields

Instances

ShrinkC a b => ShrinkC (YesType a) b Source # 

newtype NoType a Source #

Constructors

NoType 

Fields

Instances

ShrinkC a b => ShrinkC (NoType a) b Source # 

Methods

shrinkC :: TermConfiguration -> NoType a -> [b] Source #

noShrink :: NoType a -> b Source #

newtype VarName Source #

Constructors

VarName 

Fields

newtype ProjName Source #

Constructors

ProjName 

Fields

newtype SizedList a Source #

Constructors

SizedList 

Fields

Instances

genConf :: Gen TermConfiguration Source #

Only generates default configurations. Names and free variables varies.

class ShrinkC a b | a -> b where Source #

Minimal complete definition

shrinkC, noShrink

Methods

shrinkC :: TermConfiguration -> a -> [b] Source #

noShrink :: a -> b Source #

Instances

ShrinkC Char Char Source # 
ShrinkC Hiding Hiding Source # 
ShrinkC Literal Literal Source # 
ShrinkC Sort Sort Source # 
ShrinkC Telescope Telescope Source # 
ShrinkC Type Type Source # 
ShrinkC Term Term Source # 
ShrinkC ConName ConHead Source # 
ShrinkC DefName QName Source # 
ShrinkC VarName Nat Source # 
ShrinkC a b => ShrinkC (NoType a) b Source # 

Methods

shrinkC :: TermConfiguration -> NoType a -> [b] Source #

noShrink :: NoType a -> b Source #

ShrinkC a b => ShrinkC (YesType a) b Source # 
ShrinkC a b => ShrinkC [a] [b] Source # 

Methods

shrinkC :: TermConfiguration -> [a] -> [[b]] Source #

noShrink :: [a] -> [b] Source #

ShrinkC a b => ShrinkC (Dom a) (Dom b) Source # 

Methods

shrinkC :: TermConfiguration -> Dom a -> [Dom b] Source #

noShrink :: Dom a -> Dom b Source #

ShrinkC a b => ShrinkC (Arg a) (Arg b) Source # 

Methods

shrinkC :: TermConfiguration -> Arg a -> [Arg b] Source #

noShrink :: Arg a -> Arg b Source #

ShrinkC a b => ShrinkC (Blocked a) (Blocked b) Source # 
ShrinkC a b => ShrinkC (Abs a) (Abs b) Source # 

Methods

shrinkC :: TermConfiguration -> Abs a -> [Abs b] Source #

noShrink :: Abs a -> Abs b Source #

ShrinkC a b => ShrinkC (Elim' a) (Elim' b) Source # 
(ShrinkC a a', ShrinkC b b') => ShrinkC (a, b) (a', b') Source # 

Methods

shrinkC :: TermConfiguration -> (a, b) -> [(a', b')] Source #

noShrink :: (a, b) -> (a', b') Source #

killAbs :: KillVar a => Abs a -> a Source #

class KillVar a where Source #

Minimal complete definition

killVar

Methods

killVar :: Nat -> a -> a Source #

Instances

KillVar Telescope Source # 
KillVar Type Source # 

Methods

killVar :: Nat -> Type -> Type Source #

KillVar Term Source # 

Methods

killVar :: Nat -> Term -> Term Source #

KillVar a => KillVar [a] Source # 

Methods

killVar :: Nat -> [a] -> [a] Source #

KillVar a => KillVar (Maybe a) Source # 

Methods

killVar :: Nat -> Maybe a -> Maybe a Source #

KillVar a => KillVar (Dom a) Source # 

Methods

killVar :: Nat -> Dom a -> Dom a Source #

KillVar a => KillVar (Arg a) Source # 

Methods

killVar :: Nat -> Arg a -> Arg a Source #

KillVar a => KillVar (Abs a) Source # 

Methods

killVar :: Nat -> Abs a -> Abs a Source #

KillVar a => KillVar (Elim' a) Source # 

Methods

killVar :: Nat -> Elim' a -> Elim' a Source #

(KillVar a, KillVar b) => KillVar (a, b) Source # 

Methods

killVar :: Nat -> (a, b) -> (a, b) Source #

prop_wellScopedVars :: TermConfiguration -> Property Source #

Check that the generated terms don't have any out of scope variables.