mimium
ツリー形式からBasicBlockのインストラクション形式に変える
Stateのこととupvalueを両方処理しなくてはならない
StateSize計算とUpvalue計算の両方をtraitとして切り出す方がいいのかな
値
v::=∣R(λx:τ.e,[Γ,x:e],StateStorage(p,Vec))[Closure]
e::=∣∣∣∣∣∣xx∈Vλx.eeeappclseefixx.egetstateeInIsdelayee[value][lambda][app(global,stateful)][appclosure][fixpoint][feed][delay]
結局W計算のStaged Interpreterと変わらんかもな
そうすると型付けの時点でクロージャ相当の項とグローバル関数適用の項は分かれることになる?エフェクトとして考えるのが妥当なのかな
型
τ::=∣ ∣RaInτ→τa∈Nn∈N
コンパイル