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

Safe HaskellNone

Agda.TypeChecking.Telescope

Contents

Synopsis

Documentation

getOutputTypeName :: Type -> TCM OutputTypeNameSource

Strips all Pi's and return the head definition name, if possible.

renameP :: Subst t => Permutation -> t -> tSource

The permutation should permute the corresponding telescope. (left-to-right list)

flattenTel :: Telescope -> [Dom Type]Source

Flatten telescope: (

reorderTel :: [Dom Type] -> Maybe PermutationSource

Order a flattened telescope in the correct dependeny order:

unflattenTel :: [ArgName] -> [Dom Type] -> TelescopeSource

Unflatten: turns a flattened telescope into a proper telescope. Must be properly ordered.

teleNames :: Telescope -> [ArgName]Source

Get the suggested names from a telescope

data SplitTel Source

A telescope split in two.

splitTelescope :: VarSet -> Telescope -> SplitTelSource

Split a telescope into the part that defines the given variables and the part that doesn't.

telViewUpTo :: Int -> Type -> TCM TelViewSource

telViewUpTo n t takes off the first n function types of t. Takes off all if n < 0.

telViewUpTo' :: Int -> (Dom Type -> Bool) -> Type -> TCM TelViewSource

telViewUpTo' n p t takes off $t$ the first n (or arbitrary many if n < 0) function domains as long as they satify p.

piApplyM :: Type -> Args -> TCM TypeSource

A safe variant of piApply.

Instance definitions

getInstanceDefs :: TCM InstanceTableSource

Try to solve the instance definitions whose type is not yet known, report an error if it doesn't work and return the instance table otherwise.