Screamer

A platform independent LISP library that extends the language to support nondeterministic programming, but extensions include (an optional) constraint programming model, backtracking (both well known Prolog features), undoable side-effects, binding propagation, boolean constraint propagation, generalized forward checking, propagation of bounds, and unification. The system is complete enough to many users treating it as a separate variant of LISP under the name Nondeterministic Lisp.

The package languished from the point its original authors released their last version in 1993, but in 2010 a gent named Nikodemus Siivola started updating the package and got permission from the original authors to release the original package under a more liberal licence, development has remained slow, however.

Screamer+
Screamer+ is a small constraint solver add on to Screamer, although functional it has never really taken off as even though it is open source it has an explicit "do not redistribute without a written permission" clause alongside a non functioning e-mail address which has meant it is fast disappearing off the net.

Arno
Torsten Anders created a nondeterministic programming extension to Common Music called Arno (presumably named after Arno Babajanian) that is based on the Screamer package, since Arno does not seem to be downloadable and as Common Music no longer has a living OS/2 port this is all academic anyway. Anders later moved his attention from LISP the OZ multi-paradigm programming language (now known as Mozart).

Versions

 * Screamer
 * Screamer 4.0.0 (2015-06-18)
 * Screamer 3.9 (1993-07-23)
 * Screamer+
 * Screamer+ 2000-02-17 (Last known version)

Links

 * Screamer on Github
 * Screamer discussion group on Google groups
 * Copy of the original Screamer+ distribution site - Via Archive.org, has a large number of additional and test programs.

Publications

 * Screamer
 * Jeffrey Mark Siskind: Screaming Yellow Zonkers - 1991 PDF
 * Jeffrey Mark Siskind & David Allen McAllester: Screamer: A Portable Efficient Implementation of Nondeterministic Common LISP - 1993 PDF
 * Jeffrey Mark Siskind & David Allen McAllester: Nondeterministic Lisp as a Substrate for Constraint Logic Programming PDF
 * Simon White: Screamer presentation - 1997 - via Archive.org
 * Screamer+
 * Simon White & D. Sleeman: Constraint Handling in Common LISP - 1998 PDF
 * Simon White & D. Sleeman: Uses of a Grammar-Driven Case-Acquisition Tool - 2002 PDF
 * Simon White & D. Sleeman: A Constraint-Based Approach to the Description and Detection of Fitness-for-Purpose - 2000 - Multiformat download
 * Simon White: Enhancing Knowledge Acquisition with Constraint Technology - 2000
 * Simon White & D. Sleeman: A Constraint-Based Approach to the Description of Competence - 1999
 * Arno & related
 * Torsten Anders: Arno: Constraints Programming in Common Music - 2000 - Multiformat download available.
 * Torsten Anders: Composing Music by Composing Rules: Computer Aided Composition employing Constraint Logic Programming] - 2003
 * Torsten Anders: A wizard’s aid: efficient music constraint programming with Oz - 2002
 * Torsten Anders & Eduardo Reck Miranda: Constraint Application with Higher-Order Programming for Modeling Music Theories - Computer Music Journal Vol. 34, No. 2 (Summer 2010), pp. 25-38.
 * Torsten Anders & Eduardo Reck Miranda: Constraint programming systems for modeling music theories and composition - 2011 - Multiformat download
 * Torsten Anders & Eduardo Reck Miranda: Higher-order Constraint applicators for Music Constraint Programming - 2008 - Multiformat download

Licence

 * Screamer is open source software originally released under a proprietary licence, but reissued under the single clause BSD licence in the 1990s.
 * Screamer+ is open source but cannot be redistributed and has a no commercial usage clause.

Authors

 * Jeffrey Mark Siskind (Original author)
 * David Allen McAllester (Original author)
 * Nikodemus Siivola (Current maintainer)
 * Simon White (Screamer+)
 * Torsten Anders (Arno)