From cf66b365cefbb060067bf9d87e9bbf9a1ccdf1c1 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: Mon, 6 Oct 2025 15:39:33 +0900 Subject: [PATCH] [obsidian] vault backup: 2025-10-06 15:39:33[ --- content/mimiumの多段階計算.md | 43 +++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/content/mimiumの多段階計算.md b/content/mimiumの多段階計算.md index 1a66d894..22b07d8a 100644 --- a/content/mimiumの多段階計算.md +++ b/content/mimiumの多段階計算.md @@ -10,6 +10,49 @@ シンプルに構文木レベルでのインタプリタを別途作ることで実現できそう。 +## 構文の拡張 + +### Type + +Code Type $\langle t\rangle$を加える +$$ +\begin{align} +\tau ::= + &\quad R \quad &\\ + |&\quad I_n \quad &n \in \mathbb{N} \\ + |&\quad \tau → \tau &\\ + |&\quad \langle \tau \rangle +\end{align} +$$ + +### Expression + +$$ +\begin{align} +e ::= + &\quad R & R \in \mathbb{R} [number]&\\ + |&\quad e \ e \quad& [app]&\\ + |&\quad \lambda x.e& [abs]&\\ + |&\quad let\; x\; =\; e\; in\; e& [let]&\\ + |&\quad delay(x,e_{time},v_{bound})&[delay]&\\ + |&\quad mem(e) &[mem]&\\ + |&\quad feed\ x.e &[feed]&\\ + |&\quad `(e) &[quote]&\\ + |&\quad $(e) &[splice]& +\end{align} +$$ + +### Value + +$$ +\begin{align} +v ::= + |&\quad R & R \in \mathbb{R} [number]&\\ + |&\quad cls(e,E) &[closure]&\\ + |&\quad \langle v \rangle &[code]&\\ +\end{align} +$$ + ## 課題