mirror of
https://github.com/dhil/phd-dissertation
synced 2026-03-13 02:58:26 +00:00
Extend Table 4.2
This commit is contained in:
30
thesis.bib
30
thesis.bib
@@ -1798,6 +1798,36 @@
|
||||
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
|
||||
@InProceedings{Burstall69,
|
||||
author = {Rod M. Burstall},
|
||||
|
||||
28
thesis.tex
28
thesis.tex
@@ -1088,21 +1088,39 @@ implementation strategies.
|
||||
|
||||
\begin{table}
|
||||
\centering
|
||||
\begin{tabular}{| l | >{\raggedright}p{4.5cm} | l |}
|
||||
\begin{tabular}{| l | >{\raggedright}p{4.3cm} | l |}
|
||||
\hline
|
||||
\multicolumn{1}{|c|}{\textbf{Language}} & \multicolumn{1}{c |}{\textbf{Control operators}} & \multicolumn{1}{c|}{\textbf{Implementation strategies}}\\
|
||||
\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\\
|
||||
\hline
|
||||
MLton & callcc & Stack copying\\
|
||||
\hline
|
||||
Multicore OCaml & Effect handlers & Segmented stacks\\
|
||||
Multicore OCaml & Affine effect handlers & Segmented stacks\\
|
||||
\hline
|
||||
Racket & callcc, callcc$^{\ast}$, fcontrol, prompt/control, shift/reset, splitter, spawn & Continuation marks\\
|
||||
OchaCaml & shift/reset & Virtual machine\\
|
||||
\hline
|
||||
Rhino JavaScript & A variation of J & Interpreter \\
|
||||
Racket & callcc, callcc$^{\ast}$, cupto, fcontrol, prompt/control, shift/reset, splitter, spawn & Continuation marks\\
|
||||
\hline
|
||||
SML/NJ & callcc & CPS\\
|
||||
Rhino JavaScript & JI & Interpreter \\
|
||||
\hline
|
||||
Scala & shift/reset & CPS\\
|
||||
\hline
|
||||
SML/NJ & callcc & CPS\\
|
||||
\hline
|
||||
Wasm/k & prompt/control & ?? \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\caption{Some languages and their implementation strategies for first-class control.}\label{tbl:ctrl-operators-impls}
|
||||
|
||||
Reference in New Issue
Block a user