Idris2Doc : Language.IntrinsicTyping.SECD

Language.IntrinsicTyping.SECD

(source)
The content of this module is based on the MSc Thesis
Coinductive Formalization of SECD Machine in Agda
by Adam Krupička

Reexports

importpublic Data.Late
importpublic Data.List.Quantifiers

Definitions

dataTy : Type
Totality: total
Visibility: public export
Constructors:
TyInt : Ty
TyBool : Ty
TyPair : Ty->Ty->Ty
TyList : Ty->Ty
TyFun : Ty->Ty->Ty
dataConst : Ty->Type
Totality: total
Visibility: public export
Constructors:
AnInt : Int->ConstTyInt
True : ConstTyBool
False : ConstTyBool
fromInteger : Integer->ConstTyInt
Totality: total
Visibility: public export
Stack : Type
Totality: total
Visibility: public export
Env : Type
Totality: total
Visibility: public export
FunDump : Type
Totality: total
Visibility: public export
recordState : Type
Totality: total
Visibility: public export
Constructor: 
MkState : Stack->Env->FunDump->State

Projections:
.dump : State->FunDump
.env : State->Env
.stack : State->Stack
.stack : State->Stack
Totality: total
Visibility: public export
stack : State->Stack
Totality: total
Visibility: public export
.env : State->Env
Totality: total
Visibility: public export
env : State->Env
Totality: total
Visibility: public export
.dump : State->FunDump
Totality: total
Visibility: public export
dump : State->FunDump
Totality: total
Visibility: public export
dataStep : State->State->Type
Totality: total
Visibility: public export
Constructors:
LDC : Constty->Step (MkStatesef) (MkState (ty::s) ef)
  Load a constant of a base type
LDA : Elemtye->Step (MkStatesef) (MkState (ty::s) ef)
  Load a value from an address in the environment
LDF : Steps (MkState [] (a::e) ((a, b) ::f)) (MkState [b] (a::e) ((a, b) ::f)) ->Step (MkStatesef) (MkState (TyFunab::s) ef)
  Load a recursive function
LDR : Elem (a, b) f->Step (MkStatesef) (MkState (TyFunab::s) ef)
  Load a function for recursive application
APP : Step (MkState (a:: (TyFunab::s)) ef) (MkState (b::s) ef)
  Apply a function to its argument
TAP : Step (MkState (a:: (TyFunab::s)) ef) (MkState (b::s) ef)
  Apply a function to its argument, tail call
RTN : Step (MkState (b::s) e ((a, b) ::f)) (MkState [b] e ((a, b) ::f))
  Return a value from inside a function
BCH : Steps (MkStatesef) (MkStates'ef) ->Steps (MkStatesef) (MkStates'ef) ->Step (MkState (TyBool::s) ef) (MkStates'ef)
  Branch over a boolean
FLP : Step (MkState (a:: (b::s)) ef) (MkState (b:: (a::s)) ef)
  Flip the stack's top values
NIL : Step (MkStatesef) (MkState (TyLista::s) ef)
  Nil constructor
CNS : Step (MkState (a:: (TyLista::s)) ef) (MkState (TyLista::s) ef)
  Cons constructor
HED : Step (MkState (TyLista::s) ef) (MkState (a::s) ef)
  Head destructor
TAL : Step (MkState (TyLista::s) ef) (MkState (TyLista::s) ef)
  Tail destructor
MKP : Step (MkState (a:: (b::s)) ef) (MkState (TyPairab::s) ef)
  Pair constructor
FST : Step (MkState (TyPairab::s) ef) (MkState (a::s) ef)
  First pair destructor
SND : Step (MkState (TyPairab::s) ef) (MkState (b::s) ef)
  Second pair destructor
ADD : Step (MkState (TyInt:: (TyInt::s)) ef) (MkState (TyInt::s) ef)
  Addition of ints
SUB : Step (MkState (TyInt:: (TyInt::s)) ef) (MkState (TyInt::s) ef)
  Subtraction of ints
MUL : Step (MkState (TyInt:: (TyInt::s)) ef) (MkState (TyInt::s) ef)
  Multiplication of ints
EQB : Step (MkState (a:: (a::s)) ef) (MkState (TyBool::s) ef)
  Structural equality test
NOT : Step (MkState (TyBool::s) ef) (MkState (TyBool::s) ef)
  Boolean negation
dataSteps : State->State->Type
Totality: total
Visibility: public export
Constructors:
Nil : Stepsss
(::) : Stepst->Stepstu->Stepssu
dataStepz : State->State->Type
Totality: total
Visibility: public export
Constructors:
Lin : Stepzss
(:<) : Stepzst->Steptu->Stepzsu
(<>>) : Stepzst->Stepstu->Stepssu
Totality: total
Visibility: public export
Fixity Declaration: infixr operator, level 6
(<><) : Stepzst->Stepstu->Stepzsu
Totality: total
Visibility: public export
Fixity Declaration: infixl operator, level 7
(++) : Stepsst->Stepstu->Stepssu
Totality: total
Visibility: public export
Fixity Declaration: infixr operator, level 7
NUL : Steps (MkState (TyLista::s) ef) (MkState (TyBool::s) ef)
Totality: total
Visibility: public export
LDL : ListInt->Steps (MkStatesef) (MkState (TyListTyInt::s) ef)
Totality: total
Visibility: public export
PLS : Step (MkStatesef) (MkState (TyFunTyInt (TyFunTyIntTyInt) ::s) ef)
Totality: total
Visibility: public export
MAP : Step (MkState [] ef) (MkState [TyFun (TyFunab) (TyFun (TyLista) (TyListb))] ef)
Totality: total
Visibility: public export
FLD : Step (MkState [] ef) (MkState [TyFun (TyFunb (TyFunab)) (TyFunb (TyFun (TyLista) b))] ef)
Totality: total
Visibility: public export
SUM : Steps (MkState [] ef) (MkState [TyFun (TyListTyInt) TyInt] ef)
Totality: total
Visibility: public export
Meaning : Ty->Type
Totality: total
Visibility: public export
fromConst : Constty->Meaningty
Totality: total
Visibility: public export
Meaning : ListTy->Type
Totality: total
Visibility: public export
0Meaning : FunDump->Type
Totality: total
Visibility: public export
tail : Meaning (ab::f) ->Meaningf
Totality: total
Visibility: public export
lookup : Meaningf->Elem (a, b) f->Closureab
Totality: total
Visibility: public export
recordMeaning : State->Type
Totality: total
Visibility: public export
Constructor: 
MkMeaning : Meaning (st.stack) ->Meaning (st.env) ->Meaning (st.dump) ->Meaningst

Projections:
.dumpVal : Meaningst->Meaning (st.dump)
.envVal : Meaningst->Meaning (st.env)
.stackVal : Meaningst->Meaning (st.stack)
.stackVal : Meaningst->Meaning (st.stack)
Totality: total
Visibility: public export
stackVal : Meaningst->Meaning (st.stack)
Totality: total
Visibility: public export
.envVal : Meaningst->Meaning (st.env)
Totality: total
Visibility: public export
envVal : Meaningst->Meaning (st.env)
Totality: total
Visibility: public export
.dumpVal : Meaningst->Meaning (st.dump)
Totality: total
Visibility: public export
dumpVal : Meaningst->Meaning (st.dump)
Totality: total
Visibility: public export
recordClosure : Ty->Ty->Type
Totality: total
Visibility: public export
Constructor: 
MkClosure : Steps (MkState [] (a::localEnv) ((a, b) ::localFunDump)) (MkState [b] (a::localEnv) ((a, b) ::localFunDump)) ->MeaninglocalEnv->MeaninglocalFunDump->Closureab

Projections:
.code : ({rec:0} : Closureab) ->Steps (MkState [] (a::localEnv{rec:0}) ((a, b) ::localFunDump{rec:0})) (MkState [b] (a::localEnv{rec:0}) ((a, b) ::localFunDump{rec:0}))
.dumpVal : ({rec:0} : Closureab) ->Meaning (localFunDump{rec:0})
.envVal : ({rec:0} : Closureab) ->Meaning (localEnv{rec:0})
0.localEnv : Closureab->Env
0.localFunDump : Closureab->FunDump
0.localEnv : Closureab->Env
Totality: total
Visibility: public export
0localEnv : Closureab->Env
Totality: total
Visibility: public export
0.localFunDump : Closureab->FunDump
Totality: total
Visibility: public export
0localFunDump : Closureab->FunDump
Totality: total
Visibility: public export
.code : ({rec:0} : Closureab) ->Steps (MkState [] (a::localEnv{rec:0}) ((a, b) ::localFunDump{rec:0})) (MkState [b] (a::localEnv{rec:0}) ((a, b) ::localFunDump{rec:0}))
Totality: total
Visibility: public export
code : ({rec:0} : Closureab) ->Steps (MkState [] (a::localEnv{rec:0}) ((a, b) ::localFunDump{rec:0})) (MkState [b] (a::localEnv{rec:0}) ((a, b) ::localFunDump{rec:0}))
Totality: total
Visibility: public export
.envVal : ({rec:0} : Closureab) ->Meaning (localEnv{rec:0})
Totality: total
Visibility: public export
envVal : ({rec:0} : Closureab) ->Meaning (localEnv{rec:0})
Totality: total
Visibility: public export
.dumpVal : ({rec:0} : Closureab) ->Meaning (localFunDump{rec:0})
Totality: total
Visibility: public export
dumpVal : ({rec:0} : Closureab) ->Meaning (localFunDump{rec:0})
Totality: total
Visibility: public export
eqb : (ty : Ty) ->Meaningty->Meaningty->Bool
Totality: total
Visibility: public export
eqbs : (ty : Ty) ->Meaning (TyListty) ->Meaning (TyListty) ->Bool
Totality: total
Visibility: public export
steps : Meaningst->Stepsstst'->Late (Meaningst')
Totality: total
Visibility: public export
step : Meaningst->Stepstst'->Late (Meaningst')
Totality: total
Visibility: public export
run : Steps (MkState [] [] []) (MkState (ty::{_:12217}) [] []) ->Nat->Maybe (Meaningty)
Totality: total
Visibility: public export