However, a function with a type $((\True\to\False) land (\False\to\True))\lor((\True\to\True)\land(\False\to\False))$ could definitively give a result in $\True$. The correct result should be \Bool.
However, a function with a type $((\True\to\False)\land
(\False\to\True))\lor((\True\to\True)\land(\False\to\False))$ may
definitively yield a result in $\True$ or in $\False$. The correct result should be \Bool.
The proof in Coq of the soundness of this definition given in the
...
...
@@ -314,7 +318,7 @@ potential dynamic behavior of terms in the way done with occurrence
typing will need to decide \emph{which} terms the type system should
take note of, and what equations it will use over those terms. For
example, if we have the expression
\texttt{(f\ x) $\in$ (1,\ 1)}, should that refine the
\texttt{(f\ x) $\in$ (1,1)}, should that refine the
type of \texttt{(g\ x)}? Possible questions to ask here are: is
\texttt{f} pure? Is \texttt{f} syntactically equal to \texttt{g}? Can we
prove that \texttt{f} and \texttt{g} are equivalent?
...
...
@@ -339,9 +343,10 @@ paper clearer.
\begin{answer}
Beppe: say that our approach in some sense subsumes the two others. Add
a part of related work discussing about pure expressions. Use (not
verbatim) the rebuttal of POPL. Thanks for the insight
This is a very nice insight. We reproduced it (giving credits) in the
section on related work, which now ends with a long discussion on the
design space w.r.t. side effects and on our future plans to cope with
the presence of impure expressions. (lines ??-??)
\end{answer}
...
...
@@ -495,7 +500,7 @@ type preservation). We rewrote the sentence to be more clear.
interpretation of) \any. We added an explaination (see lines
???-???). In short \texttt{Undef} is a special singleton type
whose intepretation contains only a the
constant \texttt{undef} which is not in D.
constant \texttt{undef} which is not in $\Domain$.