Fix make-array transforms.
[sbcl.git] / CREDITS
diff --git a/CREDITS b/CREDITS
index bb87d4b..b2061fb 100644 (file)
--- a/CREDITS
+++ b/CREDITS
@@ -1,10 +1,11 @@
+-*- coding: utf-8; mode: text; -*-
 
       The programmers of old were mysterious and profound.  We
    cannot fathom their thoughts, so all we do is describe their
    appearance.
       Aware, like a fox crossing the water.  Alert, like a general
    on the battlefield.  Kind, like a hostess greeting her guests.
-      Simple, like uncarved blocks of wood.  Opaque, like black 
+      Simple, like uncarved blocks of wood.  Opaque, like black
    pools in darkened caves.
       Who can tell the secrets of their hearts and minds?
       The answer exists only in the Tao.
@@ -25,7 +26,7 @@ in CMU CL 18b,
   Lisp implementation for use in the CMU community.
 and
   CMU CL has been under continuous development since the early 1980's
-  (concurrent with the Common Lisp standardization effort.) 
+  (concurrent with the Common Lisp standardization effort.)
 Apparently most of the CMU Common Lisp implementors moved on to
 work on the Gwydion environment for Dylan.
 
@@ -154,7 +155,7 @@ The CMU CL seq.lisp code also gave credits for later work by Jim Muller
 and Bill Chiles.
 
 The modules system (code/module.lisp, containing REQUIRE, PROVIDE,
-and friends, now deprecated by ANSI) was written by Jim Muller and 
+and friends, now deprecated by ANSI) was written by Jim Muller and
 rewritten by Bill Chiles.
 
 The CMU CL garbage collector was credited to "Christopher Hoover,
@@ -176,7 +177,7 @@ code to pretty-print backquote expressions says that unparsing support
 was provided by Miles Bader.
 
 The CMU implementations of the Common Lisp query functions Y-OR-N-P
-and YES-OR-NO-P were originally written by Walter van Roggen, and 
+and YES-OR-NO-P were originally written by Walter van Roggen, and
 updated and modified by Rob MacLachlan and Bill Chiles.
 
 The CMU CL sort functions (code/sort.lisp) were written by Jim Large,
@@ -208,7 +209,7 @@ originally written by Robert MacLachlan:
        toplevel interface functions and drivers
                compiler/main.lisp
 Besides writing the compiler, and various other work mentioned elsewhere,
-Robert MacLachlan was also credited with tuning the implementation of 
+Robert MacLachlan was also credited with tuning the implementation of
 streams for Unix files, and writing
        various floating point support code
                code/float-trap.lisp, floating point traps
@@ -217,7 +218,7 @@ streams for Unix files, and writing
                code/time.lisp
 
 William Lott is also credited with writing or heavily maintaining some
-parts of the CMU CL compiler. He was responsible for lifting 
+parts of the CMU CL compiler. He was responsible for lifting
 compiler/meta-vmdef.lisp out of compiler/vmdef.lisp, and also wrote
        various optimizations
                compiler/array-tran.lisp
@@ -225,7 +226,7 @@ compiler/meta-vmdef.lisp out of compiler/vmdef.lisp, and also wrote
                compiler/seqtran.lisp (with some code adapted from an older
                        seqtran written by Wholey and Fahlman)
        the separable compiler backend
-               compiler/backend.lisp   
+               compiler/backend.lisp
                compiler/generic/utils.lisp
        the implementation of LOAD-TIME-VALUE
                compiler/ltv.lisp
@@ -239,7 +240,7 @@ compiler/meta-vmdef.lisp out of compiler/vmdef.lisp, and also wrote
                compiler/generic/vm-typetran.lisp, FOO=type ops
                compiler/generic/objdef.lisp, FOO=object representation
                compiler/generic/primtype.lisp, FOO=primitive types
-Also, Christopher Hoover and William Lott wrote compiler/generic/vm-macs.lisp 
+Also, Christopher Hoover and William Lott wrote compiler/generic/vm-macs.lisp
 to centralize information about machine-dependent macros and constants.
 
 Sean Hallgren is credited with most of the Alpha backend.  Julian
@@ -247,7 +248,7 @@ 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 
+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)
@@ -268,7 +269,7 @@ Bill Chiles also modified code/macros.lisp. Much of the implementation
 of PURIFY was rewritten in C by William Lott.
 
 The CMU CL number functions (code/number.lisp) were written by Rob
-MacLachlan, but acknowledge much code "derived from code written by 
+MacLachlan, but acknowledge much code "derived from code written by
 William Lott, Dave Mcdonald, Jim Large, Scott Fahlman, etc."
 
 CMU CL's weak pointer support (code/weak.lisp) was written by
@@ -304,7 +305,7 @@ Steven Handerson (based on Skef's idea), and that it was rewritten by
 William Lott to remove assumptions about length of fixnums on the MIPS
 port.
 
-The comments in the main body of the CMU CL debugger 
+The comments in the main body of the CMU CL debugger
        code/debug.lisp
 say that it was written by Bill Chiles. Some other related files
        code/debug-int.lisp, programmer's interface to the debugger
@@ -324,7 +325,7 @@ MacLachlan.
 
 Various CMU CL support code was written by William Lott:
        the bytecode interpreter
-               code/byte-interp.lisp 
+               code/byte-interp.lisp
        bitblt-ish operations a la SYSTEM-AREA-COPY
                code/bit-bash.lisp
        Unix interface
@@ -509,16 +510,29 @@ Martin Atzmueller:
 Daniel Barlow:
   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.
+  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.
+
+Zach Beane:
+  He provided a number of additions to SB-POSIX, implemented the
+  original timer facility on which SBCL's timers are based. and also
+  contributed the :SAVE-RUNTIME-OPTIONS support for SAVE-LISP-AND-DIE.
+
+James Bielman:
+  He assisted in work on the port to the Windows operating system, and
+  was instrumental in :EXECUTABLE support for SAVE-LISP-AND-DIE.
+
+Alastair Bridgewater:
+  He contributed a port of the system to the Windows operating system.
 
 Robert E. Brown:
-  He has reported various bugs and submitted several patches, 
+  He has reported various bugs and submitted several patches,
   especially improving removing gratuitous efficiencies in the
   standard library.
 
@@ -529,11 +543,15 @@ Cadabra, Inc. (later merged into GoTo.com):
   giving SBCL (and CMU CL) its EQUALP hash tables.
 
 Douglas Crosher:
-  He continued to improve CMU CL after SBCL forked from it, creating 
+  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, 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. 
+  handling of the CONS type to allow ANSI-style (CONS FOO BAR) types.
+
+Larry D'Anna:
+  He provided several parts of SB-CLTL2 environment access, and has
+  also worked on bugs in the IR2 conversion stage of the compiler.
 
 Alexey Dejneka:
   He fixed many, many bugs on various themes, and has done a
@@ -549,11 +567,30 @@ Paul Dietz:
   analysis phase in the compiler.
 
 Brian Downing:
-  He fixed the linker problems for building SBCL on Mac OS X.
+  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. He wrote the core of SBCL's 
+  alternative interpreter-based EVAL.
 
 Miles Egan:
   He creates binary packages of SBCL releases for Red Hat and other
-  (which?) platforms
+  (which?) platforms.
+
+Helmut Eller:
+  A lot of the code in the SB-INTROSPECT and SB-COVER contrib modules
+  was originally written by him for Slime/Swank.
+
+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.
+
+Stephan Frank:
+  He contributed the SB-GMP contrib to exploit libgmp in bignum and
+  ratio arithmetic.
 
 Nathan Froyd:
   He has fixed various bugs, and also done a lot of internal
@@ -564,28 +601,74 @@ Nathan Froyd:
   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.
+
+Cyrus Harmon:
+  He fixed many PPC FFI and callback bugs.  He ported Raymond Toy's
+  work on the generational garbage collector for PPC to Linux, finding
+  and fixing other SBCL bugs in the process.
+
 Matthias Hoelzl:
   He reported and fixed COMPILE's misbehavior on macros.
 
+Daisuke Homma:
+  He added support for SunOS on x86 processors.
+
+ITA Software:
+  They hired Juho Snellman as a consultant to work on improvements to
+  SBCL, to be released into the public domain. The work they've funded
+  includes faster compilation, various improvements to the statistical
+  profiler, the SB-COVER code coverage tool, the interpreter-based
+  evaluator and the IR2-based single-stepper.
+
 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.
+
+Dmitry Kalyanov:
+  His work was crucial in bringing the Windows backend forward; he
+  implemented pthreads and ported SB-THREAD to this platform.
+
+Yaroslav Kavenchuk:
+  He implemented several missing features and fixed many bugs in
+  the win32 port. He also worked on external-format support for
+  SB-ALIEN.
+
+Anton Kovalenko:
+  He introduced a safepoint-based stop-the-world protocol and greatly
+  contributed to features and bugfixes related to the Windows port.
+
+Richard M Kreyter:
+  He added documentation support for CLOS slot readers and writers,
+  provided several SB-POSIX and NetBSD patches, and cleaned up
+  several of the filesystem/pathname interfaces.
+
 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
+  SBCL to bootstrap under Lispworks for Windows.
+
+David Lichteblau:
+  He repeatedly failed to update his entry in this file.
 
 Robert MacLachlan:
-  He has continued to answer questions about, and contribute fixes to, 
+  He has continued to answer questions about, and contribute fixes to,
   the CMU CL project. Some of these fixes, especially for compiler
   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 
+  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.
 
@@ -593,7 +676,8 @@ 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.
+  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.
@@ -601,13 +685,24 @@ Antonio Martinez-Shotton:
 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 
+  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.
 
+Gabor Melis:
+  He mainly worked on robustness related to signal handling, threads,
+  timers with small excursions to constraint propagation, weak hash
+  tables (based on CMUCL code) and optimizing x86/x86-64 calling
+  convention.
+
+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
@@ -615,23 +710,50 @@ Gerd Moellman:
   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 
+  system, deleting unused extensions, improving performance in
   some areas (especially sequence functions and non-simple vectors),
   updating documentation, and even, for better or worse, getting
   rid of various functionality (e.g. the byte interpreter).
 
+NIIMI Satoshi:
+  He contributed a number of fixes to the FreeBSD port, implemented
+  some external-formats and JOIN-THREAD, and also worked on
+  the :EXECUTABLE support.
+
 Patrik Nordebo:
   He contributed to the port of SBCL to MacOS X, finding solutions for
   ABI and assembly syntax differences between Darwin and Linux.
 
+Luís Oliveira:
+  He contributed to the port of SBCL to the Windows operating system,
+  particuarly in the area of FFI.
+
+Scott Parish:
+  He ported SBCL to OpenBSD-with-ELF.
+
+Timothy Ritchey:
+  He implemented SB-BSD-SOCKETS support for the win32 port.
+
+Tobias Rittweiler
+  He has made several contributions relating to source locations,
+  pretty printing, SB-INTROSPECT, and the reader.
+
 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.
 
+Joshua Ross:
+  He fixed some bugs relating to foreign calls and callbacks on the
+  Linux PowerPC platform.
+
 Christophe Rhodes:
   He ported SBCL to SPARC (based on the CMUCL backend), made various
   port-related and SPARC-related changes (like *BACKEND-SUBFEATURES*),
@@ -643,26 +765,53 @@ Christophe Rhodes:
   optimizations to compiler output, and contributed in other ways as
   well.
 
-Stig Erik Sandoe:
+Stig Erik Sandø:
   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,
-  and has fixed many (stream-related and other) bugs besides.
+  implemented package locks, ported the linkage-table code from CMUCL,
+  reimplemented STEP, implemented the compare-and-swap interface, and
+  has fixed many bugs besides.
 
 Juho Snellman:
-  He provided several performance enhancements, including a better hash
-  function on strings, and removal of unneccessary bounds checks.
+  He provided a number of bug fixes and performance enhancements to
+  the compiler, the standard library functions, and to the garbage
+  collector. 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.
+  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.)
+
+Robert Swindells:
+  He ported SBCL to NetBSD/Sparc.
 
 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.
+
+Larry Valkama:
+  He resurrected the HPUX port, and worked on the HPPA backend in
+  general.
 
 Peter Van Eynde:
   He wrestled the CLISP test suite into a mostly portable test suite
@@ -679,6 +828,9 @@ Colin Walters:
   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
@@ -688,17 +840,31 @@ Raymond Wiker:
 
 INITIALS GLOSSARY (helpful when reading comments, CVS commit logs, etc.)
 
-VJA  Vincent Arkesteijn
-MNA  Martin Atzmueller
+AB   Alastair Bridgewater
+AK   Anton Kovalenko
+AL   Arthur Lemmens
+APD  Alexey Dejneka
+CLH  Cyrus Harmon
+CSR  Christophe Rhodes
 DB   Daniel Barlow (also "dan")
+DFL  David Lichteblau
 DTC  Douglas Crosher
-APD  Alexey Dejneka
-PFD  Paul F. Dietz
+JES  Juho Snellman
+JRXR Joshua Ross
+LAV  Larry Valkama
+LEU  Lutz Euler
+MG   Gabor Melis
+MNA  Martin Atzmueller
 NJF  Nathan Froyd
-AL   Arthur Lemmens
-RAM  Robert MacLachlan
+NS   Nikodemus Siivola
+PFD  Paul F. Dietz
 PRM  Pierre Mai
-WHN  William ("Bill") Newman
-CSR  Christophe Rhodes
 PVE  Peter Van Eynde
+PK/PVK Paul-Virak Khuong
 PW   Paul Werkowski
+RAM  Robert MacLachlan
+RLT  Raymond Toy
+TCR  Tobias Rittweiler
+THS  Thiemo Seufer
+VJA  Vincent Arkesteijn
+WHN  William ("Bill") Newman