@node sb-aclrepl
@section sb-aclrepl
+@cindex Read-Eval-Print Loop
+@cindex REPL
The @code{sb-aclrepl} module offers an AllegroCL style Read-Eval-Print
Loop for SBCL. An AllegroCL style inspector is integrated. Adding an
--- /dev/null
+@node sb-md5
+@section sb-md5
+@cindex Hashing, cryptographic
+
+The @code{sb-md5} module implements the RFC1321 MD5 Message Digest
+Algorithm.
+
+@comment entry points / docstrings
+
+@subsection Credits
+
+The implementation for CMUCL was largely done by Pierre Mai, with help
+from members of the @code{cmucl-help} mailing list. Since CMUCL and
+SBCL are similar in many respects, it was not too difficult to extend
+the low-level implementation optimizations for CMUCL to SBCL.
+Following this, SBCL's compiler was extended to implement efficient
+compilation of modular arithmetic (@pxref{Modular arithmetic}), which
+enabled the implementation to be expressed in portable arithmetical
+terms, apart from the use of @code{rotate-byte} for bitwise rotation.
+@findex rotate-byte
+
--- /dev/null
+@node sb-rotate-byte
+@section sb-rotate-byte
+@cindex Modular arithmetic
+@cindex Arithmetic, modular
+@cindex Arithmetic, hardware
+
+The @code{sb-rotate-byte} module offers an interface to bitwise
+rotation, with an efficient implementation for operations which can be
+performed directly using the platform's arithmetic routines. It
+implements the specification at
+@uref{http://www.cliki.net/ROTATE-BYTE}.
+@comment except when someone scribbles all over it. Hmm.
+
+Bitwise rotation is a component of various cryptographic or hashing
+algorithms: MD5, SHA-1, etc.; often these algorithms are specified on
+32-bit rings. [cite cite cite].
+
+@comment would like to include ROTATE-BYTE's docstring
(package "package")
(setf "setf-expander")
(structure "struct")
- (type (let ((class (ignore-errors (find-class symbol))))
+ (type (let ((class (find-class symbol nil))))
(etypecase class
(structure-class "struct")
(standard-class "class")
(package "@defvr Package")
(setf "@deffn {Setf Expander}")
(structure "@deftp Structure")
- (type (let ((class (ignore-errors (find-class symbol))))
+ (type (let ((class (find-class symbol nil))))
(etypecase class
(structure-class "@deftp Structure")
(standard-class "@deftp Class")
@insertcopying
@menu
-* Introduction::
-* The Compiler::
-* The Debugger::
-* Efficiency::
-* Beyond The ANSI Standard::
+* Introduction::
+* The Compiler::
+* The Debugger::
+* Efficiency::
+* Beyond The ANSI Standard::
* The Foreign Function Interface::
-* Contributed Modules::
+* Contributed Modules::
* Concept Index::
-* Function Index::
-* Variable Index::
+* Function Index::
+* Variable Index::
* Colophon::
@end menu
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.8.9.34"
+"0.8.9.35"