mirror of
https://github.com/dhil/phd-dissertation
synced 2026-03-13 11:08:25 +00:00
WIP
This commit is contained in:
12
thesis.tex
12
thesis.tex
@@ -2367,6 +2367,12 @@ special instance of a statically typed programming language, where the
|
|||||||
typechecking function $T$ is the constant function that always returns
|
typechecking function $T$ is the constant function that always returns
|
||||||
true.
|
true.
|
||||||
|
|
||||||
|
Often we will build programming languages incrementally by starting
|
||||||
|
from a base language and extend it with new facilities. A
|
||||||
|
\emph{conservative extension} is a particularly well-behaved extension
|
||||||
|
in the sense that it preserves the all of the behaviour of the
|
||||||
|
original language.
|
||||||
|
%
|
||||||
\begin{definition}
|
\begin{definition}
|
||||||
A programming language $\LLL = (S, T, E)$ is said to be a
|
A programming language $\LLL = (S, T, E)$ is said to be a
|
||||||
\emph{conservative extension} of a language $\LLL' = (S', T', E')$
|
\emph{conservative extension} of a language $\LLL' = (S', T', E')$
|
||||||
@@ -2374,10 +2380,10 @@ true.
|
|||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item $S'$ is a proper subset of $S$.
|
\item $S'$ is a proper subset of $S$.
|
||||||
\item $\LLL$ preserves the static semantics of $\LLL'$,
|
\item $\LLL$ preserves the static semantics of $\LLL'$,
|
||||||
i.e. $T(P)$ holds if and only if $T'(P)$ holds for all programs
|
i.e. $T(p)$ holds if and only if $T'(p)$ holds for all programs
|
||||||
$P$ generated by $S'$.
|
$p$ generated by $S'$.
|
||||||
\item $\LLL$ preserves the dynamic semantics of $\LLL'$, i.e.
|
\item $\LLL$ preserves the dynamic semantics of $\LLL'$, i.e.
|
||||||
$E(P)$ holds if and only if $E'(P)$ holds for all programs $P$
|
$E(p)$ holds if and only if $E'(p)$ holds for all programs $p$
|
||||||
generated by $S'$.
|
generated by $S'$.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{definition}
|
\end{definition}
|
||||||
|
|||||||
Reference in New Issue
Block a user