Idris2Doc : Core.Name.Scoped

Core.Name.Scoped

(source)

Reexports

importpublic Core.Name
importpublic Libraries.Data.List.Thin

Definitions

Scopeable : Type->Type
  Something which is having similar order as Scope itself

Totality: total
Visibility: public export
Scope : Type
  A scope is represented by a list of names. E.g. in the following
rule, the scope Γ is extended with x when going under the λx.
binder:

Γ, x ⊢ t : B
-----------------------------
Γ ⊢ λx. t : A → B

Totality: total
Visibility: public export
empty : Scopeablea
Totality: total
Visibility: public export
addInner : Scopeablea->Scopeablea->Scopeablea
Totality: total
Visibility: public export
bind : Scopeablea->a->Scopeablea
Totality: total
Visibility: public export
single : a->Scopeablea
Totality: total
Visibility: public export
Scoped : Type
  A scoped definition is one indexed by a scope

Totality: total
Visibility: public export
scopeEq : (xs : Scope) -> (ys : Scope) ->Maybe (xs=ys)
Totality: total
Visibility: export
mkFresh : Scope->Name->Name
Totality: total
Visibility: export
dataCompatibleVars : Lista->Lista->Type
Totality: total
Visibility: public export
Constructors:
Pre : CompatibleVarsxsxs
Ext : CompatibleVarsxsys->CompatibleVars (n::xs) (m::ys)
invertExt : CompatibleVars (n::xs) (m::ys) ->CompatibleVarsxsys
Totality: total
Visibility: export
extendCompats : (args : Lista) ->CompatibleVarsxsys->CompatibleVars (args++xs) (args++ys)
Totality: total
Visibility: export
decCompatibleVars : (xs : Lista) -> (ys : Lista) ->Dec (CompatibleVarsxsys)
Totality: total
Visibility: export
areCompatibleVars : (xs : Lista) -> (ys : Lista) ->Maybe (CompatibleVarsxsys)
Totality: total
Visibility: export
0Weakenable : Scoped->Type
Totality: total
Visibility: public export
0Strengthenable : Scoped->Type
Totality: total
Visibility: public export
0GenWeakenable : Scoped->Type
Totality: total
Visibility: public export
0Thinnable : Scoped->Type
Totality: total
Visibility: public export
0Shrinkable : Scoped->Type
Totality: total
Visibility: public export
0Embeddable : Scoped->Type
Totality: total
Visibility: public export
interfaceWeaken : Scoped->Type
Parameters: tm
Constructor: 
MkWeaken

Methods:
weaken : tmvars->tm (nm::vars)
weakenNs : Weakenabletm

Implementations:
WeakenArgType
Weaken (PatInfop)
Weaken (NamedPatstodo)
Weaken (IVarsvs)
WeakenWkCExp
WeakenNestedNames
WeakenCaseTree
WeakenCExp
WeakenCConAlt
WeakenVarSet
WeakenTerm
WeakenVar
Weaken (NVarnm)
weaken : Weakentm=>tmvars->tm (nm::vars)
Totality: total
Visibility: public export
weakenNs : Weakentm=>Weakenabletm
Totality: total
Visibility: public export
interfaceGenWeaken : Scoped->Type
Parameters: tm
Constructor: 
MkGenWeaken

Methods:
genWeakenNs : GenWeakenabletm

Implementations:
GenWeakenTerm
GenWeakenVar
GenWeaken (NVarnm)
genWeakenNs : GenWeakentm=>GenWeakenabletm
Totality: total
Visibility: public export
genWeaken : GenWeakentm=>SizeOflocal->tm (local++outer) ->tm (local++ (n::outer))
Totality: total
Visibility: export
interfaceStrengthen : Scoped->Type
Parameters: tm
Constructor: 
MkStrengthen

Methods:
strengthenNs : Strengthenabletm

Implementations:
StrengthenVar
Strengthen (NVarnm)
strengthenNs : Strengthentm=>Strengthenabletm
Totality: total
Visibility: public export
strengthen : Strengthentm=>tm (nm::vars) ->Maybe (tmvars)
Totality: total
Visibility: export
interfaceFreelyEmbeddable : Scoped->Type
Parameters: tm
Constructor: 
MkFreelyEmbeddable

Methods:
embed : Embeddabletm

Implementations:
FreelyEmbeddableCaseTree
FreelyEmbeddableCExp
FreelyEmbeddableVarSet
FreelyEmbeddableTerm
FreelyEmbeddable (IsVarxk)
FreelyEmbeddableVar
FreelyEmbeddable (NVarnm)
embed : FreelyEmbeddabletm=>Embeddabletm
Totality: total
Visibility: public export
FunctorFreelyEmbeddable : Functorf=>FreelyEmbeddabletm=>FreelyEmbeddable (f.tm)
Totality: total
Visibility: export
ListFreelyEmbeddable : FreelyEmbeddabletm=>FreelyEmbeddable (List.tm)
Totality: total
Visibility: export
MaybeFreelyEmbeddable : FreelyEmbeddabletm=>FreelyEmbeddable (Maybe.tm)
Totality: total
Visibility: export
GenWeakenWeakens : GenWeakentm=>Weakentm
Totality: total
Visibility: export
FunctorGenWeaken : Functorf=>GenWeakentm=>GenWeaken (f.tm)
Totality: total
Visibility: export
FunctorWeaken : Functorf=>Weakentm=>Weaken (f.tm)
Totality: total
Visibility: export
ListWeaken : Weakentm=>Weaken (List.tm)
Totality: total
Visibility: export
MaybeWeaken : Weakentm=>Weaken (Maybe.tm)
Totality: total
Visibility: export
interfaceIsScoped : Scoped->Type
Parameters: tm
Constraints: Weaken tm
Methods:
compatNs : CompatibleVarsxsys->tmxs->tmys
thin : Thinnabletm
shrink : Shrinkabletm

Implementations:
IsScopedTerm
IsScopedVar
compatNs : IsScopedtm=>CompatibleVarsxsys->tmxs->tmys
Totality: total
Visibility: public export
thin : IsScopedtm=>Thinnabletm
Totality: total
Visibility: public export
shrink : IsScopedtm=>Shrinkabletm
Totality: total
Visibility: public export
compat : IsScopedtm=>tm (m::xs) ->tm (n::xs)
Totality: total
Visibility: export