Idris2Doc : Core.CompileExpr

Core.CompileExpr

(source)

Definitions

dataConInfo : Type
Totality: total
Visibility: public export
Constructors:
DATACON : ConInfo
TYCON : ConInfo
NIL : ConInfo
CONS : ConInfo
ENUM : Nat->ConInfo
NOTHING : ConInfo
JUST : ConInfo
RECORD : ConInfo
ZERO : ConInfo
SUCC : ConInfo
UNIT : ConInfo

Hints:
EqConInfo
HashableConInfo
ShowConInfo
TTCConInfo
dataInlineOk : Type
  Tagging let binders with whether it is safe to inline them

Totality: total
Visibility: public export
Constructors:
YesInline : InlineOk
NotInline : InlineOk

Hints:
EqInlineOk
TTCInlineOk
dataCExp : Scoped
  CExp - an expression ready for compiling.

Totality: total
Visibility: public export
Constructors:
CLocal : FC-> (0_ : IsVarxidxvars) ->CExpvars
CRef : FC->Name->CExpvars
CLam : FC-> (x : Name) ->CExp (x::vars) ->CExpvars
CLet : FC-> (x : Name) ->InlineOk->CExpvars->CExp (x::vars) ->CExpvars
CApp : FC->CExpvars->List (CExpvars) ->CExpvars
CCon : FC->Name->ConInfo->MaybeInt->List (CExpvars) ->CExpvars
COp : FC->PrimFnarity->Vectarity (CExpvars) ->CExpvars
CExtPrim : FC->Name->List (CExpvars) ->CExpvars
CForce : FC->LazyReason->CExpvars->CExpvars
CDelay : FC->LazyReason->CExpvars->CExpvars
CConCase : FC->CExpvars->List (CConAltvars) ->Maybe (CExpvars) ->CExpvars
CConstCase : FC->CExpvars->List (CConstAltvars) ->Maybe (CExpvars) ->CExpvars
CPrimVal : FC->Constant->CExpvars
CErased : FC->CExpvars
CCrash : FC->String->CExpvars

Hints:
Eq (CExpvars)
FreelyEmbeddableCExp
Ord (CExpvars)
Show (CExpvars)
TTC (CExpvars)
WeakenCExp
dataCConAlt : Scoped
Totality: total
Visibility: public export
Constructor: 
MkConAlt : Name->ConInfo->MaybeInt-> (args : ListName) ->CExp (args++vars) ->CConAltvars

Hints:
Eq (CConAltvars)
Ord (CConAltvars)
TTC (CConAltvars)
WeakenCConAlt
dataCConstAlt : Scoped
Totality: total
Visibility: public export
Constructor: 
MkConstAlt : Constant->CExpvars->CConstAltvars

Hints:
Eq (CConstAltvars)
Ord (CConstAltvars)
TTC (CConstAltvars)
ClosedCExp : Type
Visibility: public export
dataNamedCExp : Type
  NamedCExp - as above, but without the name index, so with explicit
names, which are faster (but less safe) to manipulate in the inliner.
You can, howeveer, assume that name bindings are unique - translation
to this form (and the liner) ensure that, even if the type doesn't
guarantee it!

Totality: total
Visibility: public export
Constructors:
NmLocal : FC->Name->NamedCExp
NmRef : FC->Name->NamedCExp
NmLam : FC->Name->NamedCExp->NamedCExp
NmLet : FC->Name->NamedCExp->NamedCExp->NamedCExp
NmApp : FC->NamedCExp->ListNamedCExp->NamedCExp
NmCon : FC->Name->ConInfo->MaybeInt->ListNamedCExp->NamedCExp
NmOp : FC->PrimFnarity->VectarityNamedCExp->NamedCExp
NmExtPrim : FC->Name->ListNamedCExp->NamedCExp
NmForce : FC->LazyReason->NamedCExp->NamedCExp
NmDelay : FC->LazyReason->NamedCExp->NamedCExp
NmConCase : FC->NamedCExp->ListNamedConAlt->MaybeNamedCExp->NamedCExp
NmConstCase : FC->NamedCExp->ListNamedConstAlt->MaybeNamedCExp->NamedCExp
NmPrimVal : FC->Constant->NamedCExp
NmErased : FC->NamedCExp
NmCrash : FC->String->NamedCExp

Hints:
HasNamespacesNamedCExp
HashableNamedCExp
ShowNamedCExp
dataNamedConAlt : Type
Totality: total
Visibility: public export
Constructor: 
MkNConAlt : Name->ConInfo->MaybeInt->ListName->NamedCExp->NamedConAlt

Hints:
HasNamespacesNamedConAlt
HashableNamedConAlt
ShowNamedConAlt
dataNamedConstAlt : Type
Totality: total
Visibility: public export
Constructor: 
MkNConstAlt : Constant->NamedCExp->NamedConstAlt

Hints:
HasNamespacesNamedConstAlt
HashableNamedConstAlt
ShowNamedConstAlt
dataCFType : Type
Totality: total
Visibility: public export
Constructors:
CFUnit : CFType
CFInt : CFType
CFInteger : CFType
CFInt8 : CFType
CFInt16 : CFType
CFInt32 : CFType
CFInt64 : CFType
CFUnsigned8 : CFType
CFUnsigned16 : CFType
CFUnsigned32 : CFType
CFUnsigned64 : CFType
CFString : CFType
CFDouble : CFType
CFChar : CFType
CFPtr : CFType
CFGCPtr : CFType
CFBuffer : CFType
CFForeignObj : CFType
CFWorld : CFType
CFFun : CFType->CFType->CFType
CFIORes : CFType->CFType
CFStruct : String->List (String, CFType) ->CFType
CFUser : Name->ListCFType->CFType

Hints:
HashableCFType
ShowCFType
TTCCFType
dataCDef : Type
Totality: total
Visibility: public export
Constructors:
MkFun : (args : Scope) ->CExpargs->CDef
MkCon : MaybeInt->Nat->MaybeNat->CDef
MkForeign : ListString->ListCFType->CFType->CDef
MkError : ClosedCExp->CDef

Hints:
ShowCDef
TTCCDef
dataNamedDef : Type
Totality: total
Visibility: public export
Constructors:
MkNmFun : ListName->NamedCExp->NamedDef
MkNmCon : MaybeInt->Nat->MaybeNat->NamedDef
MkNmForeign : ListString->ListCFType->CFType->NamedDef
MkNmError : NamedCExp->NamedDef

Hints:
HasNamespacesNamedDef
HashableNamedDef
ShowNamedDef
dataNames : Scoped
Totality: total
Visibility: export
Constructors:
Nil : Names []
(::) : Name->Namesxs->Names (x::xs)
getLocName : (idx : Nat) ->Namesvars-> (0_ : IsVarnameidxvars) ->Name
Visibility: export
addLocs : (args : ListName) ->Namesvars->Names (args++vars)
Visibility: export
forget : CExpvars->NamedCExp
Visibility: export
forgetDef : CDef->NamedDef
Visibility: export
insertNames : SizeOfouter->SizeOfns->CExp (outer++inner) ->CExp (outer++ (ns++inner))
Visibility: export
shrinkCExp : Thinnewvarsvars->CExpvars->CExpnewvars
Visibility: export
SubstCEnv : Scope->Scoped
Visibility: public export
substs : SizeOfdropped->SubstCEnvdroppedvars->CExp (dropped++vars) ->CExpvars
Visibility: export
mkLocals : SizeOfouter->Boundsbound->CExp (outer++vars) ->CExp (outer++ (bound++vars))
Visibility: export
refsToLocals : Boundsbound->CExpvars->CExp (bound++vars)
Visibility: export
getFC : CExpargs->FC
Visibility: export
getFC : NamedCExp->FC
Visibility: export