\begin{center}
{\bf {\Large 
		Credits
            %=============%
}}
\end{center}

% Apologies to anyone I left out...  It wasn't intentional! TLS.

\begin{quote}
Day-to-day care and feeding of XSB including bug fixes, ports, and
configuration management has been done by Kostis Sagonas, David
Warren, Terrance Swift, Prasad Rao, Steve Dawson, Juliana Freire,
Ernie Johnson, Baoqiu Cui, Michael Kifer, Bart Demoen and Luis F.
Castro.

In \version, the core engine development of the SLG-WAM has been
mainly implemented by Terrance Swift, Kostis Sagonas, Prasad Rao,
Juliana Freire, Ernie Johnson, and Luis Castro.  The breakdown,
very roughly, was that Terrance Swift wrote the initial tabling
engine, the SLG-WAM, and builtins.  Prasad Rao reimplemented the
engine's tabling subsystem to use tries for variant-based table access
and Ernie Johnson extended these routines in a number of ways,
including adding call subsumption.  Kostis Sagonas implemented most of
tabled negation.  Juliana Freire revised the table scheduling
mechanism starting from Version~1.5.0 to create a more efficient
engine, and implemented the engine for local evaluation.  Finally,
Luis Castro rewrote the emulator to use jump tables and wrote a
heap-garbage collector for the engine.

Starting from XSB Version~2.0, XSB includes another tabling engine,
CHAT, which was designed and developed by Kostis Sagonas and Bart
Demoen.  CHAT supports heap garbage collection which was developed and
implemented by Bart Demoen and Kostis Sagonas.

Memory expansion code for WAM stacks was written by Ernie Johnson and
Bart Demoen, while memory management code for CHAT areas was written
by Bart Demoen and Kostis Sagonas.  Rui Marques improved the trailing
of the SLG-WAM and rewrote much of the engine to make it compliant
with 64-bit architectures.  Assert and retract code was based on code
written by Jiyang Xu and significantly revised by David S. Warren and
Rui Marques.  Trie assert and retract code was written by Prasad Rao.
The current version of {\tt findall/3} was re-written from scratch by
Bart Demoen.  

In the XSB complier, Kostis Sagonas was responsible for HiLog
compilation and associated builtins.  Steve Dawson implemented
Unification Factoring.  The {\tt auto\_table} and {\tt suppl\_table}
directives were written by Kostis Sagonas.  The DCG expansion module
was written by Kostis Sagonas for non-tabled code and by Baoqiu Cui,
Terrance Swift and David Warren for tabled code.  The handling of the
{\tt multifile} directive was written by Baoqiu Cui. C.R. Ramakrishnan
wrote the mode analyzer for XSB.

Michael Kifer rewrote parts of the XSB code to make XSB configurable
with GNU's Autoconf, revised the socket handling routines, and added
many new file\_io predicates.  

\comment{ Harald Schroepfer helped the XSB group with the Solaris
port, and Yiorgos Adamopoulos suggested the bits to use for the HP-700
series port.  Steven Dawson, Larry B. Daniel and Franklin Chen were
responsible for the MkLinux and Solaris x86 ports.  }

GPP, the source code preprocessor used by XSB, was written by Denis Auroux.
He also wrote the GPP manual reproduced in Appendix A.

The starting point of XSB (in 1990) was PSB-Prolog 2.0 by Jiyang Xu.
PSB-Prolog in its turn was based on SB-Prolog, primarily designed and
written by Saumya Debray, David S. Warren, and Jiyang Xu.  Thanks are
also due to Weidong Chen for his work on Prolog clause indexing for
SB-Prolog and to Richard O'Keefe, who contributed the Prolog code for
the Prolog reader and the C code for the tokenizer.  

\end{quote}

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "manual1"
%%% End: 
