|
|
@ -277,32 +277,42 @@ |
|
|
Thanks to James McKinna for always asking intellectually |
|
|
Thanks to James McKinna for always asking intellectually |
|
|
interesting, and at times challenging, questions. I have appreciate |
|
|
interesting, and at times challenging, questions. I have appreciate |
|
|
our many conversations even though I spent days, weeks, sometimes |
|
|
our many conversations even though I spent days, weeks, sometimes |
|
|
months, and in extreme cases years to think about answers to your |
|
|
|
|
|
questions. Also thanks to Brian Campbell and J. Garrett Morris for |
|
|
|
|
|
putting up with all the supervision meetings that I had with Sam in |
|
|
|
|
|
|
|
|
months, and in some extreme cases years to think about answers to |
|
|
|
|
|
your questions. On the topic of intellectually stimulating |
|
|
|
|
|
conversations, I also want to thank Gordon Plotkin for our |
|
|
|
|
|
intriguing impromptu conversations in the level 4 and 5 pantries of |
|
|
|
|
|
Informatics Forum. Thanks to Brian Campbell and J. Garrett Morris |
|
|
|
|
|
for putting up with the supervision meetings that I had with Sam in |
|
|
their shared office 5.28. |
|
|
their shared office 5.28. |
|
|
|
|
|
|
|
|
Speaking of offices, I also want to thank my peers from my own |
|
|
Speaking of offices, I also want to thank my peers from my own |
|
|
office 5.21 for stimulating my general interest in computer science |
|
|
office 5.21 for stimulating my general interest in computer science |
|
|
and mathematics beyond programming languages. Also, thanks to my CDT |
|
|
and mathematics beyond programming languages. Also, thanks to my CDT |
|
|
cohort, I want to particularly emphasise my gratitude to Amna |
|
|
|
|
|
|
|
|
cohort, I want to particularly emphasise my gratitude towards Amna |
|
|
Shahab, who has been a truly valuable friend. |
|
|
Shahab, who has been a truly valuable friend. |
|
|
|
|
|
|
|
|
|
|
|
Thanks to Ohad Kammar for being a good friend, taking a genuine |
|
|
|
|
|
interest in my work, making it fun to attend virtual conferences, |
|
|
|
|
|
and for agreeing to be the internal examiner for my dissertation. As |
|
|
|
|
|
for external examiners, I am truly humbled and thankful for Andrew |
|
|
|
|
|
Kennedy and Edwin Brady for agreeing to examine my dissertation. |
|
|
|
|
|
|
|
|
Throughout my studies I have received funding from the |
|
|
Throughout my studies I have received funding from the |
|
|
\href{https://www.ed.ac.uk/informatics}{School of Informatics} at |
|
|
\href{https://www.ed.ac.uk/informatics}{School of Informatics} at |
|
|
The University of Edinburgh, as well as an |
|
|
The University of Edinburgh, as well as an |
|
|
\href{https://www.epsrc.ac.uk/}{EPSRC} grant |
|
|
\href{https://www.epsrc.ac.uk/}{EPSRC} grant |
|
|
\href{http://pervasiveparallelism.inf.ed.ac.uk}{EP/L01503X/1} (EPSRC |
|
|
\href{http://pervasiveparallelism.inf.ed.ac.uk}{EP/L01503X/1} (EPSRC |
|
|
Centre for Doctoral Training in Pervasive Parallelism), and by ERC |
|
|
Centre for Doctoral Training in Pervasive Parallelism), and by ERC |
|
|
Consolidator Grant Skye (grant number 682315). |
|
|
|
|
|
|
|
|
Consolidator Grant Skye (grant number 682315). I finished this |
|
|
|
|
|
dissertation whilst being employed by the UKRI Future Leaders |
|
|
|
|
|
Fellowship ``Effect Handler Oriented Programming'' (reference number |
|
|
|
|
|
MR/T043830/1). |
|
|
|
|
|
|
|
|
List of people to thank |
|
|
List of people to thank |
|
|
\begin{itemize} |
|
|
\begin{itemize} |
|
|
\item Andreas Rossberg |
|
|
\item Andreas Rossberg |
|
|
\item Jeremy Yallop |
|
|
\item Jeremy Yallop |
|
|
\item Paul Piho |
|
|
\item Paul Piho |
|
|
\item Gordon Plotkin |
|
|
|
|
|
\item Ohad Kammar |
|
|
|
|
|
\end{itemize} |
|
|
\end{itemize} |
|
|
\end{acknowledgements} |
|
|
\end{acknowledgements} |
|
|
|
|
|
|
|
|
@ -4461,7 +4471,7 @@ the contrary is true, because the stackless nature of CPS means it can |
|
|
readily be implemented with a trampoline~\cite{GanzFW99}. Alas, at the |
|
|
readily be implemented with a trampoline~\cite{GanzFW99}. Alas, at the |
|
|
cost of the indirection induced by the trampoline. |
|
|
cost of the indirection induced by the trampoline. |
|
|
|
|
|
|
|
|
\part{Design} |
|
|
|
|
|
|
|
|
\part{Programming} |
|
|
\label{p:design} |
|
|
\label{p:design} |
|
|
|
|
|
|
|
|
\chapter{An ML-flavoured programming language based on rows} |
|
|
\chapter{An ML-flavoured programming language based on rows} |
|
|
|