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:
30
thesis.bib
30
thesis.bib
@@ -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},
|
||||||
|
|||||||
26
thesis.tex
26
thesis.tex
@@ -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}
|
||||||
|
|||||||
Reference in New Issue
Block a user