1
0
mirror of https://github.com/dhil/phd-dissertation synced 2026-03-13 11:08:25 +00:00

Extend Table 4.2

This commit is contained in:
2020-11-08 16:54:50 +00:00
parent 3c5be3b401
commit f56901ad4b
2 changed files with 53 additions and 5 deletions

View File

@@ -1798,6 +1798,36 @@
year = 2020 year = 2020
} }
# Gauche
@misc{Kawai20,
author = {Shiro Kawai},
title = {{Gauche} Users' Reference (version 0.9.9)},
year = 2019
}
# OchaCaml
@inproceedings{MasukoA11,
author = {Moe Masuko and Kenchi Asai},
title = {{Caml} {Light} + shift/reset = {Caml} {Shift}},
booktitle = {Theory and Practice of Delimited Continuations ({TPDC})},
year = 2011,
pages = {33--46}
}
# Shift/reset in Scala
@inproceedings{RompfMO09,
author = {Tiark Rompf and
Ingo Maier and
Martin Odersky},
title = {Implementing first-class polymorphic delimited continuations by a
type-directed selective CPS-transform},
booktitle = {{ICFP}},
pages = {317--328},
publisher = {{ACM}},
year = {2009}
}
# First implementation of threads using continuations # First implementation of threads using continuations
@InProceedings{Burstall69, @InProceedings{Burstall69,
author = {Rod M. Burstall}, author = {Rod M. Burstall},

View File

@@ -1088,22 +1088,40 @@ implementation strategies.
\begin{table} \begin{table}
\centering \centering
\begin{tabular}{| l | >{\raggedright}p{4.5cm} | l |} \begin{tabular}{| l | >{\raggedright}p{4.3cm} | l |}
\hline \hline
\multicolumn{1}{|c|}{\textbf{Language}} & \multicolumn{1}{c |}{\textbf{Control operators}} & \multicolumn{1}{c|}{\textbf{Implementation strategies}}\\ \multicolumn{1}{|c|}{\textbf{Language}} & \multicolumn{1}{c |}{\textbf{Control operators}} & \multicolumn{1}{c|}{\textbf{Implementation strategies}}\\
\hline \hline
Eff & Effect handlers & Virtual machine, interpreter \\
\hline
Effekt & Lexical effect handlers & ??\\
\hline
Frank & N-ary effect handlers & Abstract machine \\
\hline
Gauche & callcc, shift/reset & Virtual machine \\
\hline
Helium & Effect handlers & CEK machine \\
\hline
Koka & Effect handlers & Continuation monad\\
\hline
Links & Effect handlers, escape & CEK machine, CPS\\ Links & Effect handlers, escape & CEK machine, CPS\\
\hline \hline
MLton & callcc & Stack copying\\ MLton & callcc & Stack copying\\
\hline \hline
Multicore OCaml & Effect handlers & Segmented stacks\\ Multicore OCaml & Affine effect handlers & Segmented stacks\\
\hline \hline
Racket & callcc, callcc$^{\ast}$, fcontrol, prompt/control, shift/reset, splitter, spawn & Continuation marks\\ OchaCaml & shift/reset & Virtual machine\\
\hline \hline
Rhino JavaScript & A variation of J & Interpreter \\ Racket & callcc, callcc$^{\ast}$, cupto, fcontrol, prompt/control, shift/reset, splitter, spawn & Continuation marks\\
\hline
Rhino JavaScript & JI & Interpreter \\
\hline
Scala & shift/reset & CPS\\
\hline \hline
SML/NJ & callcc & CPS\\ SML/NJ & callcc & CPS\\
\hline \hline
Wasm/k & prompt/control & ?? \\
\hline
\end{tabular} \end{tabular}
\caption{Some languages and their implementation strategies for first-class control.}\label{tbl:ctrl-operators-impls} \caption{Some languages and their implementation strategies for first-class control.}\label{tbl:ctrl-operators-impls}
\end{table} \end{table}