mirror of
https://github.com/dhil/phd-dissertation
synced 2026-03-13 11:08:25 +00:00
Compare commits
2 Commits
a656f426b8
...
53a2f691c5
| Author | SHA1 | Date | |
|---|---|---|---|
| 53a2f691c5 | |||
| a75f22eb50 |
@@ -437,5 +437,7 @@
|
|||||||
\newcommand{\fprompt}{\%}
|
\newcommand{\fprompt}{\%}
|
||||||
\newcommand{\splitter}{\keyw{splitter}}
|
\newcommand{\splitter}{\keyw{splitter}}
|
||||||
\newcommand{\J}{\keyw{J}}
|
\newcommand{\J}{\keyw{J}}
|
||||||
|
\newcommand{\FelleisenC}{\ensuremath{\mathcal{C}}}
|
||||||
|
\newcommand{\FelleisenF}{\ensuremath{\mathcal{F}}}
|
||||||
|
|
||||||
\newcommand{\cont}{\keyw{cont}}
|
\newcommand{\cont}{\keyw{cont}}
|
||||||
34
thesis.tex
34
thesis.tex
@@ -659,6 +659,8 @@ callcc, J, catchcont, etc.
|
|||||||
\hline
|
\hline
|
||||||
\multicolumn{1}{| l |}{\textbf{Name}} & \multicolumn{1}{l |}{\textbf{Extent}} & \multicolumn{1}{l |}{\textbf{Behaviour}} & \multicolumn{1}{l |}{\textbf{Canonical reference}}\\
|
\multicolumn{1}{| l |}{\textbf{Name}} & \multicolumn{1}{l |}{\textbf{Extent}} & \multicolumn{1}{l |}{\textbf{Behaviour}} & \multicolumn{1}{l |}{\textbf{Canonical reference}}\\
|
||||||
\hline
|
\hline
|
||||||
|
\FelleisenC & Undelimited & Abortive & \citet{FelleisenF86} \\
|
||||||
|
\hline
|
||||||
call/cc & Undelimited & Abortive & \citet{AbelsonHAKBOBPCRFRHSHW85} \\
|
call/cc & Undelimited & Abortive & \citet{AbelsonHAKBOBPCRFRHSHW85} \\
|
||||||
\hline
|
\hline
|
||||||
call/cc* & Undelimited & Composable & \citet{Flatt20} \\
|
call/cc* & Undelimited & Composable & \citet{Flatt20} \\
|
||||||
@@ -675,6 +677,8 @@ callcc, J, catchcont, etc.
|
|||||||
\hline
|
\hline
|
||||||
escape & Undelimited & Abortive & \citet{Reynolds98a}\\
|
escape & Undelimited & Abortive & \citet{Reynolds98a}\\
|
||||||
\hline
|
\hline
|
||||||
|
\FelleisenF & Undelimited & Composable & \citet{FelleisenFDM87}\\
|
||||||
|
\hline
|
||||||
fcontrol & Delimited & Composable & \citet{Sitaram93} \\
|
fcontrol & Delimited & Composable & \citet{Sitaram93} \\
|
||||||
\hline
|
\hline
|
||||||
J & Undelimited & Abortive & \citet{Landin98}\\
|
J & Undelimited & Abortive & \citet{Landin98}\\
|
||||||
@@ -694,10 +698,9 @@ callcc, J, catchcont, etc.
|
|||||||
\paragraph{Landin's J operator}
|
\paragraph{Landin's J operator}
|
||||||
%
|
%
|
||||||
\begin{reductions}
|
\begin{reductions}
|
||||||
\slab{Marking} & \EC[(\lambda x.M)~V] &\reducesto& \EC[\lambda^{\EC}.M[V/x]], \text{where $\EC$ contains no other $\lambda$}\\
|
\slab{Dump} & \EC[(\lambda x.M)~V] &\reducesto& \EC[\mathcal{D}[M[V/x]]]\\
|
||||||
\slab{Return} & \lambda^{\EC}.V &\reducesto& V\\
|
\slab{Capture} & \EC[\mathcal{D}[\J\,(\lambda x.M)]] &\reducesto& \EC[\mathcal{D}[\cont_{\Record{\EC;\lambda x.M}}]]\\
|
||||||
\slab{Capture} & \lambda^{\EC}.\EC'[\J\,x.M] &\reducesto& \EC'[\cont_{\Record{\EC;x.M}}/k]\\
|
\slab{Resume} & \EC[\Continue~\cont_{\Record{\EC';\lambda x.M}}~V] &\reducesto& \EC'[(\lambda x.M)~V]
|
||||||
\slab{Resume} & \EC[\Continue~\cont_{\Record{\EC';x.M}}~V] &\reducesto& \EC'[M[V/x]]
|
|
||||||
\end{reductions}
|
\end{reductions}
|
||||||
%
|
%
|
||||||
|
|
||||||
@@ -733,6 +736,29 @@ call-with-composable-continuation (MzScheme 360, November 2006).
|
|||||||
\slab{Resume} & \Continue~\cont_{\EC}~V &\reducesto& \EC[V]
|
\slab{Resume} & \Continue~\cont_{\EC}~V &\reducesto& \EC[V]
|
||||||
\end{reductions}
|
\end{reductions}
|
||||||
|
|
||||||
|
%
|
||||||
|
\[
|
||||||
|
1 + \Callcc^\ast\,(\lambda k. k\,(k\,0)) \reducesto 3
|
||||||
|
\]
|
||||||
|
%
|
||||||
|
Contrast this result with
|
||||||
|
%
|
||||||
|
\[
|
||||||
|
1 + \Callcc\,(\lambda k. k\,(k\,0)) \reducesto 1
|
||||||
|
\]
|
||||||
|
|
||||||
|
\paragraph{Felleisen's \FelleisenC{} and \FelleisenF{}}
|
||||||
|
%
|
||||||
|
\begin{reductions}
|
||||||
|
\slab{Capture} & \EC[\FelleisenC\,V] &\reducesto& V~\cont_{\EC}\\
|
||||||
|
\slab{Resume} & \EC[\Continue~\cont_{\EC'}~V] &\reducesto& \EC[V]
|
||||||
|
\end{reductions}
|
||||||
|
%
|
||||||
|
\begin{reductions}
|
||||||
|
\slab{Capture} & \EC[\FelleisenF\,V] &\reducesto& V~\cont_{\EC}\\
|
||||||
|
\slab{Resume} & \Continue~\cont_{\EC}~V &\reducesto& \EC[V]
|
||||||
|
\end{reductions}
|
||||||
|
|
||||||
\subsection{Delimited operators}
|
\subsection{Delimited operators}
|
||||||
Delimited control: Control delimiters form the basis for delimited
|
Delimited control: Control delimiters form the basis for delimited
|
||||||
control. \citeauthor{Felleisen88} introduced control delimiters in
|
control. \citeauthor{Felleisen88} introduced control delimiters in
|
||||||
|
|||||||
Reference in New Issue
Block a user