0.9.1.38:
[sbcl.git] / CREDITS
diff --git a/CREDITS b/CREDITS
index 015bb79..1384e2f 100644 (file)
--- a/CREDITS
+++ b/CREDITS
@@ -160,7 +160,8 @@ rewritten by Bill Chiles.
 The CMU CL garbage collector was credited to "Christopher Hoover,
 Rob MacLachlan, Dave McDonald, et al." in the CMU CL code/gc.lisp file,
 with some extra code for the MIPS port credited to Christopher Hoover
-alone.
+alone. The credits on the original "gc.c", "Stop and Copy GC based
+on Cheney's algorithm", said "written by Christopher Hoover".
 
 Guy Steele wrote the original character functions
        code/char.lisp
@@ -241,7 +242,13 @@ compiler/meta-vmdef.lisp out of compiler/vmdef.lisp, and also wrote
 Also, Christopher Hoover and William Lott wrote compiler/generic/vm-macs.lisp 
 to centralize information about machine-dependent macros and constants.
 
-Sean Hallgren converted compiler/generic/primtype.lisp for the Alpha.
+Sean Hallgren is credited with most of the Alpha backend.  Julian
+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
+and other changes to update it for current CMUCL interfaces were made 
+by Eric Marsden and Douglas Crosher
 
 The CMU CL machine-independent disassembler (compiler/disassem.lisp)
 was written by Miles Bader.
@@ -276,7 +283,7 @@ by Bill Chiles to add encapsulation, and modified more by William Lott
 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
@@ -445,8 +452,9 @@ Aronson, and Steve Handerson.
 
 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
@@ -488,33 +496,111 @@ CREDITS SINCE THE RELEASE OF SBCL
 (Note: (1) This is probably incomplete, since there's no systematic
 procedure for updating it. (2) Some more details are available in the
 NEWS file, in the project's CVS change logs, and in the archives of
-the sbcl-devel mailing list.)
+the sbcl-devel mailing list. (3) In this, as in other parts of SBCL,
+patches are welcome. Don't be shy.)
 
 Martin Atzmueller:
   He reported many bugs, fixed many bugs, ported various fixes
   from CMU CL, and helped clean up various stale bug data. (He has
   been unusually energetic at this. As of sbcl-0.6.9.10, the
-  total number of bugs involved likely exceeds 100.)
+  total number of bugs involved likely exceeded 100. Since then,
+  I've lost count. See the CVS logs.)
 
 Daniel Barlow:
-  He contributed sblisp.lisp, a set of patches to make SBCL
-  play nicely with ILISP. (Those patches have since disappeared from the
-  SBCL distribution because ILISP has since been patched to play nicely
-  with SBCL.) He also figured out how to get the CMU CL dynamic object
-  file loading code to work under SBCL.
+  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),
+  native threads support for x86 Linux (new), and the initial x86-64
+  backend (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,
   including the implementation of EQUALP hash tables for CMU CL;
   then agreed to release the EQUALP code into the public domain,
-  giving SBCL (and CMU CL) EQUALP hash tables.
+  giving SBCL (and CMU CL) its EQUALP hash tables.
 
 Douglas Crosher:
   He continued to improve CMU CL after SBCL forked from it, creating 
   many patches which were directly applicable to SBCL. Notable examples
-  include fixes for various compiler bugs, and a generalization
-  of the type system's handling of the CONS type to allow ANSI-style
-  (CONS FOO BAR) types.
+  include fixes for various compiler bugs, the implementation of
+  CL:DEFINE-SYMBOL-MACRO, and a generalization of the type system's
+  handling of the CONS type to allow ANSI-style (CONS FOO BAR) types. 
+
+Alexey Dejneka:
+  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.  He
+  found and fixed the cause of backtraces failing for undefined
+  functions and assembly routines.
+
+Miles Egan:
+  He creates binary packages of SBCL releases for Red Hat and other
+  (which?) platforms.
+
+Lutz Euler:
+  He made a large number of improvements to the x86-64 disassembler.
+
+Andreas Fuchs:
+  He provides infrastructure for monitoring build and performance
+  regressions of SBCL.  He assisted with the integration of the
+  Unicode work.
+
+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 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.
+
+Teemu Kalvas:
+  He worked on Unicode support for SBCL, including parsing the Unicode
+  character database, restoring the FAST-READ-CHAR optimization and
+  developing external format support.
+
+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 Lispworks for Windows.
+
+David Lichteblau:
+  He came up with a more memory-efficient representation for
+  structures with raw slots.
 
 Robert MacLachlan:
   He has continued to answer questions about, and contribute fixes to, 
@@ -522,31 +608,162 @@ Robert MacLachlan:
   problems, has been invaluable to the CMU CL project and, by
   porting, invaluable to the SBCL project as well.
 
-Bill Newman:
-  He continued to work on SBCL after the fork, increasing ANSI
+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.  He assisted in development
+  of Unicode support for SBCL.
+
+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.
+
+Timothy Moore:
+  He designed and implemented the original CMUCL linkage-table, on
+  which the SBCL implementation thereof is based.
+
+William ("Bill") Newman:
+  He continued to maintain SBCL after the fork, increasing ANSI
   compliance, fixing bugs, regularizing the internals of the
   system, deleting unused extensions, improving performance in 
   some areas (especially sequence functions and non-simple vectors),
-  and updating documentation.
+  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 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.
+
+Thiemo Seufer:
+  He modernized the MIPS backend, fixing many bugs, and assisted in
+  cleaning up the C runtime code.
+
+Julian Squires:
+  He worked on Unicode support for the PowerPC platform.
+
+Nikodemus Siivola:
+  He provided build fixes, in particular to tame the SunOS toolchain,
+  implemented package locks, ported the linkage-table code from CMUCL,
+  reimplemented STEP, and has fixed many (stream-related and other) bugs 
+  besides.
+
+Juho Snellman:
+  He provided several performance enhancements, including a better hash
+  function on strings, removal of unneccessary bounds checks, and
+  multiple improvements to performance of common operations on
+  bignums.  He ported and enhanced the statistical profiler written by
+  Gerd Moellmann for CMU CL.  He completed the work on the x86-64 port
+  of SBCL.
+
+Brian Spilsbury:
+  He wrote Unicode-capable versions of SBCL's character, string, and
+  stream types and operations on them.  (These versions did not end up
+  in the system, but did to a large extent influence the support which
+  finally did get merged.)
 
 Raymond Toy:
   He continued to work on CMU CL after the SBCL fork, especially on
   floating point stuff. Various patches and fixes of his have been
-  ported to SBCL.
+  ported to SBCL, including his Sparc port of linkage-table.
 
 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
   code added in sbcl-0.6.8.
 
+Cheuksan Edward Wang:
+  He assisted in debugging the SBCL x86-64 backend.
+
 Raymond Wiker:
   He ported sbcl-0.6.3 back to FreeBSD, restoring the ancestral
   CMU CL support for FreeBSD and updating it for the changes made
   from FreeBSD version 3 to FreeBSD version 4. He also ported the
   CMU CL extension RUN-PROGRAM, and related code, to SBCL.
+
+
+INITIALS GLOSSARY (helpful when reading comments, CVS commit logs, etc.)
+
+VJA  Vincent Arkesteijn
+MNA  Martin Atzmueller
+DB   Daniel Barlow (also "dan")
+DTC  Douglas Crosher
+APD  Alexey Dejneka
+PFD  Paul F. Dietz
+NJF  Nathan Froyd
+AL   Arthur Lemmens
+DFL  David Lichteblau
+RAM  Robert MacLachlan
+PRM  Pierre Mai
+WHN  William ("Bill") Newman
+CSR  Christophe Rhodes
+THS  Thiemo Seufer
+NS   Nikodemus Siivola
+PVE  Peter Van Eynde
+PW   Paul Werkowski