From 6d8c70a8c6afdb7ee81d360b8536b5e36f48577d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Hillerstr=C3=B6m?= Date: Fri, 24 Jan 2020 20:29:05 +0000 Subject: [PATCH] Beginning of metatheoretic properties. --- thesis.tex | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/thesis.tex b/thesis.tex index beab28e..ba959c4 100644 --- a/thesis.tex +++ b/thesis.tex @@ -186,7 +186,7 @@ callcc, J, catchcont, etc. \part{Design} -\chapter{A ML-flavoured programming language} +\chapter{A ML-flavoured programming language based on rows} \label{ch:base-language} In this chapter we introduce a core calculus, \BCalc{}, which we shall @@ -769,7 +769,7 @@ defined as follows. \theta & \text{otherwise} \end{cases}\\ \Abs[B/\beta] &\defas& \Abs\\ - \Pre{A}[B/beta] &\defas& \Pre{A[B/\beta]} + \Pre{A}[B/\beta] &\defas& \Pre{A[B/\beta]} \end{eqs} \] % @@ -942,8 +942,29 @@ the context to that particular $N$. In our formalism, we call this rule \semlab{Lift}. Evaluation contexts are generated from the empty context $[~]$ and let expressions $\Let\;x \revto \EC \;\In\;N$. +For now the choices of using fine-grain call-by-value and evaluation +contexts may seem odd, if not arbitrary at this stage; the reader may +wonder with good reason why we elect to use fine-grain call-by-value +over ordinary call-by-value. In Chapter~\ref{ch:unary-handlers} we +will reap the benefits from our design choices, as we shall see that +the combination of fine-grain call-by-value and evaluation contexts +provide the basis for a convenient, simple semantic framework for +working with continuations. + +\section{Metatheoretic properties of \BCalc{}} +\label{sec:base-language-metatheory} + +Thus far we have defined the syntax, static semantics, and dynamic +semantics of \BCalc{}. In this section, we finish the definition of +\BCalc{} by stating and proving some standard metatheoretic properties +about the language. + +\section{Primitive effect: general recursion} +\label{sec:base-language-recursion} + \section{Row polymorphism} \label{sec:row-polymorphism} +\dhil{A discussion of alternative row systems} \section{Type and effect inference} \dhil{While I would like to detail the type and effect inference, it