\rho(\dync) &= (\rho(\dynv) \to\rho(\dync)) \with\u F \rho(\dynv)
\rho(\dync) &= (\rho(\dynv) \to\rho(\dync)) \with\u F \rho(\dynv)
\end{align*}
\end{align*}
and define for each $G$,
and define for each $G$,
...
@@ -1350,6 +1418,8 @@ Next, we give the inequational theory for our CBPV language.
...
@@ -1350,6 +1418,8 @@ Next, we give the inequational theory for our CBPV language.
\subsection{Graduality Logical Relation}
\subsection{Graduality Logical Relation}
\begin{figure}
\begin{figure}
\begin{mathpar}
\begin{mathpar}
{\logty{i}{A}}\subseteq\{\cdot\vdash V : A \}^2 \quad\qquad{\logty{i}{\u B}}\subseteq\{\cdot\pipe\u B \vdash S : \u F (1 + 1) \}^2\quad\qquad{\logc{i}}\subseteq\{\cdot\vdash M : \u F (1 + 1) \}^2\\
{\logty{i}{A}}\subseteq\{\cdot\vdash V : A \}^2 \quad\qquad{\logty{i}{\u B}}\subseteq\{\cdot\pipe\u B \vdash S : \u F (1 + 1) \}^2\quad\qquad{\logc{i}}\subseteq\{\cdot\vdash M : \u F (1 + 1) \}^2\\
...
@@ -1395,6 +1465,7 @@ Next, we give the inequational theory for our CBPV language.
...
@@ -1395,6 +1465,7 @@ Next, we give the inequational theory for our CBPV language.
\ipole\omega M_3$ then $M_1\ipole i M_3$.
\ipole\omega M_3$ then $M_1\ipole i M_3$.
% TODO: might as well make error the least element? not sure
% TODO: might as well make error the least element? not sure
\item Error awareness: For all $i \in\nats$, $\err\ipole i \err$.
\item Error awareness: For all $i \in\nats$, $\err\ipole i \err$.
\end{enumerate}
\end{enumerate}
\end{definition}
\end{definition}
...
@@ -1839,7 +1910,11 @@ with errors, in order to efficiently arrive at a concrete operational
...
@@ -1839,7 +1910,11 @@ with errors, in order to efficiently arrive at a concrete operational
interpretation.
interpretation.
%
%
It may be of interest to develop a more general notion of model of GTT
It may be of interest to develop a more general notion of model of GTT
for which we can prove soundness and completeness theorems.
for which we can prove soundness and completeness theorems, as in
\cite{cbn-gtt}.
%
%
%
Furthermore, the ordered CBPV with errors should also have a sound and
Furthermore, the ordered CBPV with errors should also have a sound and
complete notion of model, and so our contract translation should have
complete notion of model, and so our contract translation should have
...
@@ -1880,6 +1955,14 @@ This gives some evidence that the specific choice of connectives of
...
@@ -1880,6 +1955,14 @@ This gives some evidence that the specific choice of connectives of
CBPV occupies a certain ``sweet spot'' between semantic expressivity
CBPV occupies a certain ``sweet spot'' between semantic expressivity
and amenability to extensions.
and amenability to extensions.
\paragraph{Dynamically Typed Call-by-push-value}
Our interpretation of the dynamic types in CBPV suggests a design for
a Scheme-like language with a value and computation distinction.
%
This may be of interest for designing an extension of Type Racket that
efficiently supports CBN or a scheme-like language with codata types.
\appendix
\appendix
In this appendix we present for the reader who is unfamiliar with
In this appendix we present for the reader who is unfamiliar with