Safe Haskell | None |
---|---|
Language | Haskell98 |
Value
Synopsis
- data Val
- = VInfty
- | VZero
- | VSucc Val
- | VMax [Val]
- | VPlus [Val]
- | VMeta MVar Env Int
- | VSort (Sort Val)
- | VMeasured (Measure Val) Val
- | VGuard (Bound Val) Val
- | VBelow LtLe Val
- | VQuant { }
- | VSing Val TVal
- | VLam Name Env Expr
- | VAbs Name Int Val Valuation
- | VConst Val
- | VUp Val TVal
- | VRecord RecInfo EnvMap
- | VPair Val Val
- | VGen Int
- | VDef DefId
- | VCase Val TVal Env [Clause]
- | VApp Val [Clos]
- | VProj PrePost Name
- | VClos Env Expr
- | VIrr
- vLam :: Name -> Env -> Expr -> FVal
- isFun :: Val -> Bool
- absName :: FVal -> Name
- type FVal = Val
- type TVal = Val
- type Clos = Val
- type Domain = Dom TVal
- newtype Valuation = Valuation {}
- emptyVal :: Valuation
- sgVal :: Int -> Val -> Valuation
- valuateGen :: Int -> Valuation -> Val
- type TeleVal = [TBinding Val]
- data Environ a = Environ {}
- type EnvMap = [(Name, Val)]
- type Env = Environ Val
- vSize :: Val
- vFinSize :: Val
- vSort :: Sort Val -> Val
- isVSize :: Val -> Bool
- vTSize :: Val
- vTopSort :: Val
- mkClos :: Env -> Expr -> Val
- filterEnv :: Set Name -> EnvMap -> EnvMap
- vDef :: DefId -> Val
- vCon :: ConK -> QName -> Val
- vFun :: Name -> Val
- vDat :: QName -> Val
- vAbs :: Name -> Int -> Val -> FVal
- arrow :: TVal -> TVal -> TVal
- prod :: TVal -> TVal -> TVal
- quant :: PiSigma -> TVal -> Val -> Val
- succSize :: Val -> Val
- vSucc :: Val -> Val
- plusSize :: Val -> Val -> Val
- plusSizes :: [Val] -> Val
- maxSize :: [Val] -> Val
- vSortToSort :: Sort Val -> Sort Expr
- predSize :: Val -> Maybe Val
- isFunType :: TVal -> Bool
- isDataType :: TVal -> Bool
- showSkipLambda :: Val -> String
- showVals :: [Val] -> String
- emptyEnv :: Environ a
- appendEnv :: Environ a -> Environ a -> Environ a
- update :: Environ a -> Name -> a -> Environ a
- lookupPure :: Show a => Environ a -> Name -> a
- lookupEnv :: MonadError TraceError m => Environ a -> Name -> m a
- showValuation :: Valuation -> String
- showEnv :: Environ Val -> String
- showEnv' :: EnvMap -> String
Documentation
Constructors
VInfty | |
VZero | |
VSucc Val | |
VMax [Val] | |
VPlus [Val] | |
VMeta MVar Env Int | |
VSort (Sort Val) | |
VMeasured (Measure Val) Val | |
VGuard (Bound Val) Val | |
VBelow LtLe Val | |
VQuant | |
VSing Val TVal | |
VLam Name Env Expr | |
VAbs Name Int Val Valuation | |
VConst Val | |
VUp Val TVal | |
VRecord RecInfo EnvMap | |
VPair Val Val | |
VGen Int | |
VDef DefId | |
VCase Val TVal Env [Clause] | |
VApp Val [Clos] | |
VProj PrePost Name | |
VClos Env Expr | |
VIrr |
Instances
HasPred Val Source # | |
Nocc Val Source # | |
Reval Env Source # | |
Reval Val Source # | |
PrettyTCM Val Source # | |
ToExpr Val Source # | |
Substitute Env Source # | Substitute in environment. |
Defined in TypeChecker Methods substitute :: Substitution -> Env -> TypeCheck Env Source # | |
Substitute Val Source # | |
Defined in TypeChecker Methods substitute :: Substitution -> Val -> TypeCheck Val Source # | |
Show Val Source # | |
Eq Val Source # | |
Ord Val Source # | |
PrettyTCM (Sort Val) Source # | |
PrettyTCM [Val] Source # | |
Show (Sort Val) Source # | |
Valuation of free variables.
Instances
Reval Valuation Source # | When combining valuations, the old one takes priority.
|
Substitute Substitution Source # | |
Defined in TypeChecker Methods substitute :: Substitution -> Substitution -> TypeCheck Substitution Source # | |
Eq Valuation Source # | |
Ord Valuation Source # | |
Instances
Reval Env Source # | |
Substitute Env Source # | Substitute in environment. |
Defined in TypeChecker Methods substitute :: Substitution -> Env -> TypeCheck Env Source # | |
Show a => Show (Environ a) Source # | |
Eq a => Eq (Environ a) Source # | |
Ord a => Ord (Environ a) Source # | |
Sizes ------------------------------------------------------------
# = # Infty max # k = #
(max i j) = max ($ i) ($ j) $ distributes over max max (max i j) k = max i j k Assoc-Commut of max max i i = i Idempotency of max
destructors -------------------------------------------------------
isDataType :: TVal -> Bool Source #
ugly printing -----------------------------------------------------
showSkipLambda :: Val -> String Source #
lookupEnv :: MonadError TraceError m => Environ a -> Name -> m a Source #
showValuation :: Valuation -> String Source #