to centralize information about machine-dependent macros and constants.
Sean Hallgren is credited with most of the Alpha backend. Julian
-Dolby created the CMU CL Alpha/linux port. Douglas Crosher added
+Dolby created the CMU CL Alpha/Linux port. Douglas Crosher added
complex-float support.
The original PPC backend was the work of Gary Byers. Some bug fixes
to add FDEFN objects.
The CMU CL condition system (code/error.lisp) was based on
-some prototyping code written by Ken Pitman at Symbolics.
+some prototyping code written by Kent Pitman at Symbolics.
The CMU CL HASH-TABLE system was originally written by Skef Wholey
for Spice Lisp, then rewritten by William Lott, then rewritten
Douglas Crosher wrote code to support Gray streams, added X86 support
for the debugger and relocatable code, wrote a conservative
-generational GC for the X86 port, and added X86-specific extensions to
-support stack groups and multiprocessing.
+generational GC for the X86 port. He also added X86-specific
+extensions to support stack groups and multiprocessing, but these are
+not present in SBCL
The CMU CL user manual credits Robert MacLachlan as editor. A chapter
on the CMU CL interprocess communication extensions (not supported in
I've lost count. See the CVS logs.)
Daniel Barlow:
- He made SBCL play nicely with ILISP. He figured out how to get the
- CMU CL dynamic object file loading code to work under SBCL. He
- ported CMU CL's support for Alpha and PPC CPUs to SBCL. He wrote
- code (e.g. grovel_headers.c and stat_wrapper stuff) to handle
- machine-dependence and OS-dependence automatically, reducing
- the amount of hand-tweaking required to keep ports synchronized.
- He's also provided support for SBCL (as well as for free
- Common Lisp in general) through his CLiki website.
+ His contributions have included support for shared object loading
+ (from CMUCL), the Cheney GC for non-x86 ports (from CMUCL), Alpha
+ and PPC ports (from CMUCL), control stack exhaustion checking (new)
+ and native threads support for x86 Linux (new). He also refactored
+ the garbage collectors for understandability, wrote code
+ (e.g. grovel-headers.c and stat_wrapper stuff) to find
+ machine-dependent and OS-dependent constants automatically, and was
+ original author of the asdf, asdf-install, sb-bsd-sockets,
+ sb-executable, sb-grovel and sb-posix contrib packages.
+
+Robert E. Brown:
+ He has reported various bugs and submitted several patches,
+ especially improving removing gratuitous efficiencies in the
+ standard library.
Cadabra, Inc. (later merged into GoTo.com):
They hired Bill Newman to do some consulting for them,
handling of the CONS type to allow ANSI-style (CONS FOO BAR) types.
Alexey Dejneka:
- He has fixed many, many bugs. There's no single summary theme, but
- he's fixed about a dozen different bugs in LOOP alone, and it appears
- that a lot of his fixes there and elsewhere reflect systematic
- public-spiritedness, fixing bugs as they show up in sbcl-devel or as
- archived in the BUGS file.
+ He fixed many, many bugs on various themes, and has done a
+ tremendous amount of work on the compiler in particular, fixing
+ bugs and refactoring.
+
+Paul Dietz:
+ He is in the process of writing a comprehensive test suite
+ for the requirements of the ANSI Common Lisp standard. Already, at
+ the halfway stage, it has caught hundreds of bugs in SBCL, and
+ provided simple test cases for them. His random crash tester has
+ caught an old deep problem in the implementation of the stack
+ analysis phase in the compiler.
+
+Brian Downing:
+ He fixed the linker problems for building SBCL on Mac OS X.
+
+Miles Egan:
+ He creates binary packages of SBCL releases for Red Hat and other
+ (which?) platforms.
Nathan Froyd:
He has fixed various bugs, and also done a lot of internal
cleanup, not visible at the user level but important for
maintenance. (E.g. converting the PCL code to use LOOP instead
of the old weird pre-ANSI ITERATE macro so that the code can be
- read without being an expert in ancient languages and so that
- can delete a thousand lines of implement-ITERATE macrology.)
+ read without being an expert in ancient languages and so that we
+ can delete a thousand lines of implement-ITERATE macrology from
+ the codebase.)
+
+Bruno Haible:
+ He devised an accurate continued-fraction-based implementation of
+ RATIONALIZE, replacing a less-accurate version inherited from
+ primordial CMUCL.
+
+Matthias Hoelzl:
+ He reported and fixed COMPILE's misbehavior on macros.
+
+Espen S Johnsen:
+ He provided an ANSI-compliant version of CHANGE-CLASS for PCL.
+
+Frederik Kuivinen:
+ He showed how to implement the DEBUG-RETURN functionality.
Arthur Lemmens:
- He found and fixed a number of SBCL bugs while partially porting SBCL
- to bootstrap under <some other Common Lisp system, which could
- probably be found in the sbcl-devel archives>.
+ He found and fixed a number of SBCL bugs while partially porting
+ SBCL to bootstrap under Lispworks for Windows
Robert MacLachlan:
He has continued to answer questions about, and contribute fixes to,
problems, has been invaluable to the CMU CL project and, by
porting, invaluable to the SBCL project as well.
+Pierre Mai:
+ He has continued to work on CMU CL since the SBCL fork, and also
+ patched code to SBCL to enable dynamic loading of object files
+ under OpenBSD. He contributed to the port of SBCL to MacOS X,
+ implementing the Lisp side of the PowerOpen ABI.
+
+Eric Marsden:
+ Some of his fixes to CMU CL since the SBCL fork have been ported
+ to SBCL. He also maintains the cl-benchmark package, which gives
+ us some idea of how our performance changes compared to earlier
+ releases and to other implementations.
+
+Antonio Martinez-Shotton:
+ He has contributed a number of bug fixes and bug reports to SBCL.
+
+Brian Mastenbrook:
+ He contributed to and extensively maintained the port of SBCL to
+ MacOS X. His contributions include overcoming binary compatibility
+ issues between different versions of dlcompat on Darwin, other
+ linker fixes, and signal handler bugfixes.
+
Dave McDonald:
He made a lot of progress toward getting SBCL to be bootstrappable
under CLISP.
+Perry E. Metzger:
+ He ported SBCL to NetBSD with newer signals, building on the
+ work of Valtteri Vuorikoski. He also provided various cleanups to
+ the C runtime.
+
+Gerd Moellman:
+ He has made many cleanups and improvements, small and large, in
+ CMU CL (mostly in PCL), which we have gratefully ported to SBCL. Of
+ particular note is his ctor MAKE-INSTANCE optimization, which is both
+ faster in the typical case than the old optimizations in PCL and
+ less buggy.
+
William ("Bill") Newman:
He continued to maintain SBCL after the fork, increasing ANSI
compliance, fixing bugs, regularizing the internals of the
updating documentation, and even, for better or worse, getting
rid of various functionality (e.g. the byte interpreter).
+Patrik Nordebo:
+ He contributed to the port of SBCL to MacOS X, finding solutions for
+ ABI and assembly syntax differences between Darwin and Linux.
+
+Scott Parish:
+ He ported SBCL to OpenBSD-with-ELF.
+
+Kevin M. Rosenberg:
+ He provided the ACL-style toplevel (sb-aclrepl contrib module), and
+ a number of MOP-related bug reports. He also creates the official
+ Debian packages of SBCL.
+
Christophe Rhodes:
- He has done various low-level work on SBCL, especially for the
- SPARC port (and for CPU-architecture-neutral things motivated by
- it, like *BACKEND-FEATURES*). He's also contributed miscellaneous
- bug fixes.
+ He ported SBCL to SPARC (based on the CMUCL backend), made various
+ port-related and SPARC-related changes (like *BACKEND-SUBFEATURES*),
+ made many fixes and improvements in the compiler's type system, has
+ essentially completed the work to enable bootstrapping SBCL under
+ unrelated (non-SBCL, non-CMU-CL) Common Lisps. He participated in
+ the modernization of SBCL's CLOS implementation, implemented the
+ treatment of compiler notes as restartable conditions, provided
+ optimizations to compiler output, and contributed in other ways as
+ well.
+
+Stig Erik Sandoe:
+ He showed how to convince the GNU toolchain to build SBCL in a way
+ which supports callbacks from C code into SBCL.
+
+Rudi Schlatte:
+ He ported Paul Foley's simple-streams implementation from cmucl,
+ converted the sbcl manual to Texinfo and wrote a documentation
+ string extractor that keeps function documentation in the manual
+ current.
+
+Nikodemus Siivola:
+ He provided build fixes, in particular to tame the SunOS toolchain,
+ and has fixed many (stream-related and other) bugs besides.
+
+Juho Snellman:
+ He provided several performance enhancements, including a better hash
+ function on strings, and removal of unneccessary bounds checks.
Brian Spilsbury:
He wrote Unicode-capable versions of SBCL's character, string, and
- stream operations.
+ stream types and operations on them.
Raymond Toy:
He continued to work on CMU CL after the SBCL fork, especially on
ported to SBCL.
Peter Van Eynde:
- He wrestled the CLISP test suite into a portable test suite
+ He wrestled the CLISP test suite into a mostly portable test suite
(clocc ansi-test) which can be used on SBCL, provided a slew of
of bug reports resulting from that, and submitted many other bug
reports as well.
+Valtteri Vuorikoski:
+ He ported SBCL to NetBSD, and also fixed a long-standing bug in
+ DEFSTRUCT with respect to colliding accessor names.
+
Colin Walters:
His O(N) implementation of the general case of MAP, posted on the
cmucl-imp@cons.org mailing list, was the inspiration for similar MAP
INITIALS GLOSSARY (helpful when reading comments, CVS commit logs, etc.)
-AL Arthur Lemmens
+VJA Vincent Arkesteijn
MNA Martin Atzmueller
-DB Daniel Barlow
+DB Daniel Barlow (also "dan")
DTC Douglas Crosher
APD Alexey Dejneka
+PFD Paul F. Dietz
NJF Nathan Froyd
+AL Arthur Lemmens
RAM Robert MacLachlan
+PRM Pierre Mai
WHN William ("Bill") Newman
CSR Christophe Rhodes
PVE Peter Van Eynde
+PW Paul Werkowski