From 7cb6e23b520f66350bf5d3b541e737de36306cc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=BE=E6=B5=A6=20=E7=9F=A5=E4=B9=9F=20Matsuura=20Tomoy?= =?UTF-8?q?a?= Date: Thu, 24 Oct 2024 12:19:39 +0900 Subject: [PATCH] [obsidian] vault backup: 2024-10-24 12:19:39[ --- ...miumのMIRコンパイル過程を真面目に考える.md | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/content/mimiumのMIRコンパイル過程を真面目に考える.md b/content/mimiumのMIRコンパイル過程を真面目に考える.md index d15072eb..44b540e0 100644 --- a/content/mimiumのMIRコンパイル過程を真面目に考える.md +++ b/content/mimiumのMIRコンパイル過程を真面目に考える.md @@ -8,3 +8,28 @@ date: 2024-10-20 12:02 Stateのこととupvalueを両方処理しなくてはならない StateSize計算とUpvalue計算の両方をtraitとして切り出す方がいいのかな + +## 値 + +$$ +\begin{align} +v \; ::= & \quad R \\ + | & (\lambda x:\tau.e, [\Gamma, x:e],StateStorage(p,Vec)) \quad & [Closure]\\ +\end{align} +$$ + +$$ +\begin{align} +e \; ::=& \quad x \quad x \in \mathbb{V} \quad & [value]\\ + |& \quad \lambda x.e \quad & [lambda]\\ + |& \quad e \; e \quad & [app(globstate]\\ + |& \quad appcls \; e \; e \quad & [appclosure]\\ + |& \quad fix \; x.e \quad & [fixpoint]\\ + |& \quad feed \; x.e \quad & [feed] \\ +|& \quad delay \; e \; e & [delay]\\ +\end{align} +$$ + +結局[[The w-calculus a synchronous framework for the verified modelling of digital signal processing algorithms|W計算]]のStaged Interpreterと変わらんかもな + +そうすると型付けの時点でクロージャ相当の項とグローバル関数適用の項は分かれることになる \ No newline at end of file