MiniAgda
Safe HaskellNone
LanguageHaskell98

Value

Synopsis

Documentation

data Val Source #

Instances

Instances details
HasPred Val Source # 
Instance details

Defined in Value

Nocc Val Source # 
Instance details

Defined in Eval

Methods

nocc :: [Int] -> Val -> TypeCheck Bool Source #

Reval Env Source # 
Instance details

Defined in Eval

Reval Val Source # 
Instance details

Defined in Eval

PrettyTCM Val Source # 
Instance details

Defined in PrettyTCM

ToExpr Val Source # 
Instance details

Defined in PrettyTCM

Substitute Env Source #

Substitute in environment.

Instance details

Defined in TypeChecker

Substitute Val Source # 
Instance details

Defined in TypeChecker

Show Val Source # 
Instance details

Defined in Value

Methods

showsPrec :: Int -> Val -> ShowS #

show :: Val -> String #

showList :: [Val] -> ShowS #

Eq Val Source # 
Instance details

Defined in Value

Methods

(==) :: Val -> Val -> Bool #

(/=) :: Val -> Val -> Bool #

Ord Val Source # 
Instance details

Defined in Value

Methods

compare :: Val -> Val -> Ordering #

(<) :: Val -> Val -> Bool #

(<=) :: Val -> Val -> Bool #

(>) :: Val -> Val -> Bool #

(>=) :: Val -> Val -> Bool #

max :: Val -> Val -> Val #

min :: Val -> Val -> Val #

PrettyTCM (Sort Val) Source # 
Instance details

Defined in PrettyTCM

PrettyTCM [Val] Source # 
Instance details

Defined in PrettyTCM

Show (Sort Val) Source # 
Instance details

Defined in Value

Methods

showsPrec :: Int -> Sort Val -> ShowS #

show :: Sort Val -> String #

showList :: [Sort Val] -> ShowS #

vLam :: Name -> Env -> Expr -> FVal Source #

Makes constant function if name is empty.

isFun :: Val -> Bool Source #

Is a value a function? May become more True after forcing the VUp.

type FVal = Val Source #

type TVal = Val Source #

type Clos = Val Source #

newtype Valuation Source #

Valuation of free variables.

Constructors

Valuation 

Fields

Instances

Instances details
Reval Valuation Source #

When combining valuations, the old one takes priority. [sigma][tau]v = [[sigma]tau]v

Instance details

Defined in Eval

Substitute Substitution Source # 
Instance details

Defined in TypeChecker

Eq Valuation Source # 
Instance details

Defined in Value

Ord Valuation Source # 
Instance details

Defined in Value

data Environ a Source #

Constructors

Environ 

Fields

Instances

Instances details
Reval Env Source # 
Instance details

Defined in Eval

Substitute Env Source #

Substitute in environment.

Instance details

Defined in TypeChecker

Show a => Show (Environ a) Source # 
Instance details

Defined in Value

Methods

showsPrec :: Int -> Environ a -> ShowS #

show :: Environ a -> String #

showList :: [Environ a] -> ShowS #

Eq a => Eq (Environ a) Source # 
Instance details

Defined in Value

Methods

(==) :: Environ a -> Environ a -> Bool #

(/=) :: Environ a -> Environ a -> Bool #

Ord a => Ord (Environ a) Source # 
Instance details

Defined in Value

Methods

compare :: Environ a -> Environ a -> Ordering #

(<) :: Environ a -> Environ a -> Bool #

(<=) :: Environ a -> Environ a -> Bool #

(>) :: Environ a -> Environ a -> Bool #

(>=) :: Environ a -> Environ a -> Bool #

max :: Environ a -> Environ a -> Environ a #

min :: Environ a -> Environ a -> Environ a #

type EnvMap = [(Name, Val)] Source #

vSize :: Val Source #

The value representing type Size.

vSort :: Sort Val -> Val Source #

Ensure we construct the correct value representing Size.

vAbs :: Name -> Int -> Val -> FVal 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 -------------------------------------------------------

ugly printing -----------------------------------------------------

update :: Environ a -> Name -> a -> Environ a Source #

enviroment extension / update

lookupPure :: Show a => Environ a -> Name -> a Source #