The recommended way to report bugs is through the @cite{sbcl-help} or
@cite{sbcl-devel} mailing lists. For mailing list addresses,
-see @ref{SBCL Homepage}.
-
+see @ref{SBCL Homepage}; note that as a spam-reduction measure you
+must subscribe before you can post.
facilities.
@item Extensible Streams
-@code{sb-gray} is an implentation of @emph{Gray Streams}. @xref{Gray
+@code{sb-gray} is an implementation of @emph{Gray Streams}. @xref{Gray
Streams}.
@code{sb-simple-streams} is an implementation of the @emph{simple
@item Executable Fasl Packaging
@code{sb-executable} can be used to concatenate multiple fasls into a
-single executable (though the presense of an SBCL runtime and core image
+single executable (though the presence of an SBCL runtime and core image
is still required to run it).
The @code{:executable} argument to @ref{Function
@item Bitwise Rotation
@code{sb-rotate-byte} provides an efficient primitive for bitwise
rotation of integers, an operation required by eg. numerous
-cryptographic algorightms, but not available as a primitive in ANSI
+cryptographic algorithms, but not available as a primitive in ANSI
Common Lisp. @xref{sb-rotate-byte}.
@item Test Harness
@subsection Internals Documentation
If you're interested in the development of the SBCL system itself,
-then subcribing to @cite{sbcl-devel} is a good idea.
+then subscribing to @cite{sbcl-devel} is a good idea.
SBCL internals documentation -- besides comments in the source -- is
-currenly maitained as a @emph{wiki-like} website:
+currently maintained as a @emph{wiki-like} website:
@uref{http://sbcl-internals.cliki.net/}.
Some low-level information describing the programming details of the
@comment node-name, next, previous, up
@section History and Implementation of SBCL
-You can work productively with SBCL without knowing anything
+You can work productively with SBCL without knowing or
understanding anything about where it came from, how it is
implemented, or how it extends the ANSI Common Lisp standard. However,
a little knowledge can be helpful in order to understand error
to the casual user, since SBCL still can and does execute code
interactively by compiling it on the fly. (It is visible if you know how
to look, like using @code{compiled-function-p}; and it is visible in the
-way that that SBCL doesn't have many bugs which behave differently in
+way that SBCL doesn't have many bugs which behave differently in
interpreted code than in compiled code.) What it means is that in SBCL,
the @code{eval} function only truly ``interprets'' a few easy kinds of
forms, such as symbols which are @code{boundp}. More complicated forms