@code{sb-aclrepl} provides an Allegro CL -style toplevel for SBCL,
as an alternative to the classic CMUCL-style one. @xref{sb-aclrepl}.
-@item CLTL2 Compatility Layer
+@item CLTL2 Compatibility Layer
@code{sb-cltl2} module provides @code{compiler-let} and environment
access functionality described in @cite{Common Lisp The Language, 2nd
Edition} which were removed from the language during the ANSI
@item Bitwise Rotation
@code{sb-rotate-byte} provides an efficient primitive for bitwise
-rotation of integers, an operation required by eg. numerous
+rotation of integers, an operation required by e.g. numerous
cryptographic algorithms, but not available as a primitive in ANSI
Common Lisp. @xref{sb-rotate-byte}.
That is, for all but a few special cases, @code{eval} creates a lambda
expression, calls @code{compile} on the lambda expression to create a
compiled function, and then calls @code{funcall} on the resulting
-function object. This is explicitly allowed by the ANSI standard, but
-leads to some oddities, e.g. collapsing @code{functionp} and
-@code{compiled-function-p} into the same predicate.
+function object. A more traditional interpreter is also available on
+default builds; it is usually only called internally. This is
+explicitly allowed by the ANSI standard, but leads to some oddities;
+e.g. at default settings, @code{functionp} and
+@code{compiled-function-p} are equivalent, and they collapse into the
+same function when SBCL is built without the interpreter.
@node Defining Constants
@comment node-name, next, previous, up
@subsection Defining Constants
-@findex defconstant
+@findex @cl{defconstant}
SBCL is quite strict about ANSI's definition of @code{defconstant}.
ANSI says that doing @code{defconstant} of the same symbol more than
desired behavior. E.g., the code above can be given an exactly defined
meaning by replacing @code{defconstant} either with
@code{defparameter} or with a customized macro which does the right
-thing, eg.
+thing, e.g.
@lisp
(defmacro define-constant (name value &optional doc)
`(defconstant ,name (if (boundp ',name) (symbol-value ',name) ,value)
information, plus links to mailing lists devoted to SBCL, and to
archives of these mailing lists. Subscribing to the mailing lists
@cite{sbcl-help} and @cite{sbcl-announce} is recommended: both are
-fairly low-volume, and help you keep abrest with SBCL development.
+fairly low-volume, and help you keep abreast with SBCL development.
@node Online Documentation
@comment node-name, next, previous, up
Besides this user manual both SBCL source and binary distributions
include some other SBCL-specific documentation files, which should be
-installed along with this manual in on your system, eg. in
+installed along with this manual on your system, e.g. in
@file{/usr/local/share/doc/sbcl/}.
@table @file
shock.
@item Art Of Metaobject Programming, by Gregor Kiczales et al.
-Currently to prime source of information on the Common Lisp Metaobject
-Protocol, which is supported by SBCL. Section 2 (Chapers 5 and 6) are
+Currently the prime source of information on the Common Lisp Metaobject
+Protocol, which is supported by SBCL. Section 2 (Chapters 5 and 6) are
freely available at @uref{http://www.lisp.org/mop/}.
@end table
SBCL has removed many CMUCL extensions, (e.g. IP networking,
remote procedure call, Unix system interface, and X11 interface) from
the core system. Most of these are available as contributed modules
-(distributed with sbcl) or third-party modules instead.
+(distributed with SBCL) or third-party modules instead.
@item
SBCL has deleted or deprecated some nonstandard features and code