| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
Agda.TypeChecking.Substitute.DeBruijn
Synopsis
- class DeBruijn a where
- deBruijnVar :: Int -> a
 - debruijnNamedVar :: String -> Int -> a
 - deBruijnView :: a -> Maybe Int
 
 
Documentation
class DeBruijn a where Source #
Things we can substitute for a variable. Needs to be able to represent variables, e.g. for substituting under binders.
Minimal complete definition
Methods
deBruijnVar :: Int -> a Source #
Produce a variable without name suggestion.
debruijnNamedVar :: String -> Int -> a Source #
Produce a variable with name suggestion.
deBruijnView :: a -> Maybe Int Source #
Are we dealing with a variable? If yes, what is its index?
Instances
| DeBruijn TTerm Source # | |
Defined in Agda.Compiler.Treeless.Subst  | |
| DeBruijn DBPatVar Source # | |
Defined in Agda.TypeChecking.Substitute.DeBruijn  | |
| DeBruijn BraveTerm Source # | |
Defined in Agda.TypeChecking.Substitute  | |
| DeBruijn PlusLevel Source # | |
Defined in Agda.TypeChecking.Substitute.DeBruijn  | |
| DeBruijn Level Source # | |
Defined in Agda.TypeChecking.Substitute.DeBruijn  | |
| DeBruijn Term Source # | We can substitute   | 
Defined in Agda.TypeChecking.Substitute.DeBruijn  | |
| DeBruijn NLPat Source # | |
Defined in Agda.TypeChecking.Substitute  | |
| DeBruijn SplitPatVar Source # | |
Defined in Agda.TypeChecking.Coverage.Match Methods deBruijnVar :: Int -> SplitPatVar Source # debruijnNamedVar :: String -> Int -> SplitPatVar Source # deBruijnView :: SplitPatVar -> Maybe Int Source #  | |
| DeBruijn a => DeBruijn (Pattern' a) Source # | |
Defined in Agda.TypeChecking.Substitute  | |