Safe Haskell | None |
---|---|
Language | Haskell2010 |
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.
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 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 |