From a75f22eb50c5abc3657d7dfaa529a84a746a7fc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Hillerstr=C3=B6m?= Date: Fri, 6 Nov 2020 00:17:56 +0000 Subject: [PATCH] C and F --- macros.tex | 2 ++ thesis.tex | 27 +++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/macros.tex b/macros.tex index d8cf279..66cbf83 100644 --- a/macros.tex +++ b/macros.tex @@ -437,5 +437,7 @@ \newcommand{\fprompt}{\%} \newcommand{\splitter}{\keyw{splitter}} \newcommand{\J}{\keyw{J}} +\newcommand{\FelleisenC}{\ensuremath{\mathcal{C}}} +\newcommand{\FelleisenF}{\ensuremath{\mathcal{F}}} \newcommand{\cont}{\keyw{cont}} \ No newline at end of file diff --git a/thesis.tex b/thesis.tex index d3911da..41af760 100644 --- a/thesis.tex +++ b/thesis.tex @@ -659,6 +659,8 @@ callcc, J, catchcont, etc. \hline \multicolumn{1}{| l |}{\textbf{Name}} & \multicolumn{1}{l |}{\textbf{Extent}} & \multicolumn{1}{l |}{\textbf{Behaviour}} & \multicolumn{1}{l |}{\textbf{Canonical reference}}\\ \hline + \FelleisenC & Undelimited & Abortive & \citet{FelleisenF86} \\ + \hline call/cc & Undelimited & Abortive & \citet{AbelsonHAKBOBPCRFRHSHW85} \\ \hline call/cc* & Undelimited & Composable & \citet{Flatt20} \\ @@ -675,6 +677,8 @@ callcc, J, catchcont, etc. \hline escape & Undelimited & Abortive & \citet{Reynolds98a}\\ \hline + \FelleisenF & Undelimited & Composable & \citet{FelleisenFDM87}\\ + \hline fcontrol & Delimited & Composable & \citet{Sitaram93} \\ \hline J & Undelimited & Abortive & \citet{Landin98}\\ @@ -733,6 +737,29 @@ call-with-composable-continuation (MzScheme 360, November 2006). \slab{Resume} & \Continue~\cont_{\EC}~V &\reducesto& \EC[V] \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} Delimited control: Control delimiters form the basis for delimited control. \citeauthor{Felleisen88} introduced control delimiters in