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::{_:12229}) [] []) ->Nat->Maybe (Meaningty)
Totality: total
Visibility: public export