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

Safe Haskell | None
Language | Haskell2010

Agda.Compiler.Treeless.Subst

Contents

- Orphan instances

# Documentation

newtype UnderLambda #

Constructors

UnderLambda Any |

Instances

Eq UnderLambda # |
Methods (==) :: UnderLambda -> UnderLambda -> Bool # (/=) :: UnderLambda -> UnderLambda -> Bool #
Ord UnderLambda # |
Methods compare :: UnderLambda -> UnderLambda -> Ordering # (<) :: UnderLambda -> UnderLambda -> Bool # (<=) :: UnderLambda -> UnderLambda -> Bool # (>) :: UnderLambda -> UnderLambda -> Bool # (>=) :: UnderLambda -> UnderLambda -> Bool # max :: UnderLambda -> UnderLambda -> UnderLambda # min :: UnderLambda -> UnderLambda -> UnderLambda #
Show UnderLambda # |
Methods showsPrec :: Int -> UnderLambda -> ShowS # show :: UnderLambda -> String # showList :: [UnderLambda] -> ShowS #
Semigroup UnderLambda # |
Methods (<>) :: UnderLambda -> UnderLambda -> UnderLambda # sconcat :: NonEmpty UnderLambda -> UnderLambda # stimes :: Integral b => b -> UnderLambda -> UnderLambda #
Monoid UnderLambda # |
Methods mempty :: UnderLambda # mappend :: UnderLambda -> UnderLambda -> UnderLambda # mconcat :: [UnderLambda] -> UnderLambda #

newtype SeqArg #

Constructors

SeqArg All |

Instances

Eq SeqArg # |
Methods (==) :: SeqArg -> SeqArg -> Bool # (/=) :: SeqArg -> SeqArg -> Bool #
Ord SeqArg # |
Methods compare :: SeqArg -> SeqArg -> Ordering # (<) :: SeqArg -> SeqArg -> Bool # (<=) :: SeqArg -> SeqArg -> Bool # (>) :: SeqArg -> SeqArg -> Bool # (>=) :: SeqArg -> SeqArg -> Bool # max :: SeqArg -> SeqArg -> SeqArg # min :: SeqArg -> SeqArg -> SeqArg #
Show SeqArg # |
Methods showsPrec :: Int -> SeqArg -> ShowS # show :: SeqArg -> String # showList :: [SeqArg] -> ShowS #
Semigroup SeqArg # |
Methods (<>) :: SeqArg -> SeqArg -> SeqArg # sconcat :: NonEmpty SeqArg -> SeqArg # stimes :: Integral b => b -> SeqArg -> SeqArg #
Monoid SeqArg # |
Methods mempty :: SeqArg # mappend :: SeqArg -> SeqArg -> SeqArg # mconcat :: [SeqArg] -> SeqArg #

data Occurs #

Constructors

Occurs Int UnderLambda SeqArg |

Instances

Eq Occurs # |
Methods (==) :: Occurs -> Occurs -> Bool # (/=) :: Occurs -> Occurs -> Bool #
Ord Occurs # |
Methods compare :: Occurs -> Occurs -> Ordering # (<) :: Occurs -> Occurs -> Bool # (<=) :: Occurs -> Occurs -> Bool # (>) :: Occurs -> Occurs -> Bool # (>=) :: Occurs -> Occurs -> Bool # max :: Occurs -> Occurs -> Occurs # min :: Occurs -> Occurs -> Occurs #
Show Occurs # |
Methods showsPrec :: Int -> Occurs -> ShowS # show :: Occurs -> String # showList :: [Occurs] -> ShowS #
Semigroup Occurs # |
Methods (<>) :: Occurs -> Occurs -> Occurs # sconcat :: NonEmpty Occurs -> Occurs # stimes :: Integral b => b -> Occurs -> Occurs #
Monoid Occurs # |
Methods mempty :: Occurs # mappend :: Occurs -> Occurs -> Occurs # mconcat :: [Occurs] -> Occurs #

once :: Occurs #

inSeq :: Occurs -> Occurs #

underLambda :: Occurs -> Occurs #

class HasFree a where #

Minimal complete definition

freeVars

Methods

freeVars :: a -> Map Int Occurs #

Instances

HasFree Int # |
Methods freeVars :: Int -> Map Int Occurs #
HasFree TAlt # |
Methods freeVars :: TAlt -> Map Int Occurs #
HasFree TTerm # |
Methods freeVars :: TTerm -> Map Int Occurs #
HasFree a => HasFree [a] # |
Methods freeVars :: [a] -> Map Int Occurs #
HasFree a => HasFree (InSeq a) # |
Methods freeVars :: InSeq a -> Map Int Occurs #
HasFree a => HasFree (Binder a) # |
Methods freeVars :: Binder a -> Map Int Occurs #
(HasFree a, HasFree b) => HasFree (a, b) # |
Methods freeVars :: (a, b) -> Map Int Occurs #

freeIn :: HasFree a => Int -> a -> Bool #

occursIn :: HasFree a => Int -> a -> Occurs #

data Binder a #

Constructors

Binder Int a |

Instances

HasFree a => HasFree (Binder a) # |
Methods freeVars :: Binder a -> Map Int Occurs #

newtype InSeq a #

Constructors

InSeq a |

Instances

HasFree a => HasFree (InSeq a) # |
Methods freeVars :: InSeq a -> Map Int Occurs #

# Orphan instances

DeBruijn TTerm # |
Methods deBruijnVar :: Int -> TTerm # debruijnNamedVar :: String -> Int -> TTerm # deBruijnView :: TTerm -> Maybe Int #
Subst TTerm TAlt # |
Methods applySubst :: Substitution' TTerm -> TAlt -> TAlt #
Subst TTerm TTerm # |
Methods applySubst :: Substitution' TTerm -> TTerm -> TTerm #