|
@@ -9312,11 +9312,17 @@ value of the right-hand-side.
|
|
|
The primary purpose of both the \code{while} loop and \code{set!} is
|
|
|
to cause side effects, so they do not have a meaningful result
|
|
|
value. Instead their result is the \code{void} value. The expression
|
|
|
-\code{(void)} is an explicit way to create the \code{void} value. With
|
|
|
-the addition of side-effecting features such as \code{while} loop and
|
|
|
-\code{set!}, it is convenient to also include in a language feature
|
|
|
-for sequencing side effects: the \code{begin} expression. It consists
|
|
|
-of one or more subexpressions that are evaluated left-to-right.
|
|
|
+\code{(void)} is an explicit way to create the \code{void} value and
|
|
|
+it has type \code{Void}.\footnote{Racket's \code{Void} type
|
|
|
+ corresponds to what is called the \code{Unit} type in the
|
|
|
+ programming languages literature. Racket's \code{Void} type is
|
|
|
+ inhabited by a single value \code{void} which corresponds to
|
|
|
+ \code{unit} or \code{()} in the
|
|
|
+ literature~\citep{Pierce:2002hj}.}. With the addition of
|
|
|
+side-effecting features such as \code{while} loop and \code{set!}, it
|
|
|
+is helpful to also include in a language feature for sequencing side
|
|
|
+effects: the \code{begin} expression. It consists of one or more
|
|
|
+subexpressions that are evaluated left-to-right.
|
|
|
%
|
|
|
\fi
|
|
|
|
|
@@ -10260,14 +10266,7 @@ needed, which is why we also study \emph{garbage collection}
|
|
|
|
|
|
Section~\ref{sec:r3} introduces the \LangVec{} language including its
|
|
|
interpreter and type checker. The \LangVec{} language extends the \LangIf{}
|
|
|
-language of Chapter~\ref{ch:Lif} with vectors and Racket's
|
|
|
-\code{void} value. The reason for including the later is that the
|
|
|
-\code{vector-set!} operation returns a value of type
|
|
|
-\code{Void}\footnote{Racket's \code{Void} type corresponds to what is
|
|
|
- called the \code{Unit} type in the programming languages
|
|
|
- literature. Racket's \code{Void} type is inhabited by a single value
|
|
|
- \code{void} which corresponds to \code{unit} or \code{()} in the
|
|
|
- literature~\citep{Pierce:2002hj}.}.
|
|
|
+language of Chapter~\ref{ch:Lif} with tuple.
|
|
|
|
|
|
Section~\ref{sec:GC} describes a garbage collection algorithm based on
|
|
|
copying live objects back and forth between two halves of the
|