What's included in the distribution

screamer.lisp
The source code for Screamer.

iterate.lisp
The source code for Jonathan Amsterdam's Iterate macro. This has been modified slightly. This file is not needed to run Screamer but is needed to run the examples in primordial.lisp, screams.lisp, and equations.lisp.
primordial.lisp
A sort of torture test to determine whether Screamer is working. To run, first compile and load Screamer and Iterate, compile and load this file, type (IN-PACKAGE :PRIMORDIAL), and then type (PRIME-ORDEAL). If no errors result then Screamer is probably working correctly.
screams.lisp
A file containing all of the examples from the Screamer manual and the two papers ircs-93-03 and aaai93. To use, first compile and load Screamer and Iterate, compile and load this file, and then type (IN-PACKAGE :SCREAMS).
equations.lisp
A file containing some equations for testing Screamer's numeric constraint satisfaction procedures. To use, first compile and load Screamer, compile and load this file, and then type (IN-PACKAGE :SCREAMS).
mbmfe.sbin
A patch for Lucid 4.0.2/SPARC. This patch is optional but will make the compiled code tail recursive in and greater number of cases. You should either load this in your lisp-init.lisp file or make it part of your standard image. This patch is already part of Lucid 4.1/SPARC so should not be loaded if you are running 4.1 on SPARC machines.
bug-6920-non-dbcs.sbin
Lucid 4.0.2/SPARC and 4.1/SPARC are both missing the CLtL2 function REALP which is needed by Screamer. This patch from Lucid adds that function but will only work under non-DBCS 4.1/SPARC. The file screamer.lisp also contains a definition of REALP so you have three choices: a) If you run 4.0.2/SPARC do NOT load this patch. The version in screamer.lisp will be used automatically. b) If you run 4.1/SPARC you can choose not to load this patch and the version in screamer.lisp will be used automatically. c) If you run 4.1/SPARC and do load this patch then you MUST also evaluate (PUSH :BUG-6920 *FEATURES* ) before compiling Screamer to disable the inclusion of the Screamer version of the REALP function.
bug-6920-dbcs.sbin
A DBCS version of the patch for bug-6920 for Lucid 4.1/SPARC.
bug-5511.hbin
Lucid 4.1/HP has a bug. This patch must be loaded to fix that bug when compiling or using Screamer under Lucid 4.1/HP.
bug-5511.mbin
Lucid 4.1/DEC has a bug. This patch must be loaded to fix that bug when compiling or using Screamer under Lucid 4.1/DEC.
not-so-trivial-patch.fasl.hqx
A patch for MCL 2.0 in BinHex 4.0 format. If you are running a version prior to patch level 2 this patch is required to fix a code generator bug in the MCL compiler necessary to correctly compile Screamer. If you are running patch level 2 or greater you should not load this patch as it is already included in patch level 2.
iscream.el
If you run Lisp on Unix under GNU Emacs using ILisp you can load this Emacs Lisp file (preferably byte compiled first). You must also then set the variable SCREAMER:*ISCREAM?* to T. This will enable the Screamer macro LOCAL-OUTPUT and improve the behavior of Y-OR-N-P and PRINT-VALUES under ILisp.
screamer.dvi
screamer.ps
DVI and Postscript versions of an outdated manual for Screamer. The code in this manual has some bugs but corrected versions are included in screams.lisp.
ircs-93-03.dvi
ircs-93-03.ps
DVI and Postscript versions of a paper describing the fundamentals of nondeterministic CommonLisp. This paper is available as Technical Report 93-03 of the University of Pennsylvania Institute for Research in Cognitive Science. The appropriate BibTeX entry is:
\newcommand{\Screamer}{{\mbox{\sc Screamer}}} \newcommand{\CommonLisp}{{\mbox{\sc Common Lisp}}} @string{IRCS = {University of Pennsylvania Institute for Research in Cognitive Science}} @techreport{SiskindM93, author = {Jeffrey Mark Siskind and David Allen McAllester}, title = {{\Screamer:} A Portable Efficient Implementation of Nondeterministic {\CommonLisp}}, institution = IRCS, year = 1993, number = {IRCS--93--03}}
The code in this paper is included in screams.lisp.
aaai93.dvi
aaai93.ps
DVI and Postscript versions of a paper describing the constraint package included with Screamer. This paper appeared in the Proceedings of AAAI-93. The appropriate BibTeX entry is:
\newcommand{\Lisp}{{\mbox{\sc Lisp}}} @string{AAAI93 = {Proceedings of the Eleventh National Conference on Artifical Intelligence}} @inproceedings{SiskindM93a, author = {Jeffrey Mark Siskind and David Allen McAllester}, title = {Nondeterministic {\Lisp} as a Substrate for Constraint Logic Programming}, booktitle = AAAI93, year = 1993, month = jul}
The code in this paper is also included in screams.lisp.