screamer icon indicating copy to clipboard operation
screamer copied to clipboard

General updates

Open swapneils opened this issue 2 years ago • 12 comments

I don't yet have the bandwidth to actually commit to maintaining another project, but I have a few updates and bugfixes on top of the current repo. Adding this PR as a tracker in case other users want to make use of those changes or nikodemus comes back to this.

swapneils avatar Feb 10 '24 20:02 swapneils

Dear swapneils, I'm working on a project that is an implementation of Screamer in Openmusic (OM) for solving music constraints. For now it's using Screamer and Screamer Plus.

GitHub Link

Since OM is built on LispWorks, do you think it's possible to adapt your latest changes to Screamer to this environment?

P.S.: OM is not compatible with quicklisp and ASDF, so if I want to use an external Lisp library (like Iterate and Serapeum) I will have to select only the files that will be needed and include them in the repository.

Best, Paulo

PHRaposo avatar Apr 05 '24 16:04 PHRaposo

The obvious question would be "why is it that OM is not compatible with ASDF?" It's hard to imagine what one could do with CL code that would render it incompatible with ASDF.

Do you just mean that it does not have an ASDF system definition? If so, that should be easy to fix.

Note that it might not even need to be given an ASDF system definition -- one could add a "fake" ASDF system definition that has a perform method that does whatever OM does when it wants to load itself, e.g., call a function like (cl-user::load-open-music)

rpgoldman avatar Apr 05 '24 18:04 rpgoldman

Hi rpgoldman.

Thanks for your response.

-> "Do you just mean that it does not have an ASDF system definition? If so, that should be easy to fix."

Yes. All files from external libraries in OM are loaded as separated .lisp or .fasl files. E.g., I'm using closer-mop on my project and I had to select which file to copy and place them where OM can load it (there is a .lisp file that do this).

I just don't know if Serapeum is compatible with LispWorks and if I need to load all .lisp files from this library into OM in order to use all its features.

I'm also not a professional programmer, so I'm sorry if these are simple questions.

PHRaposo avatar Apr 05 '24 20:04 PHRaposo

Hi, Here are some tests on LW:

  • When I try to load the new screamer.asd file (from swapneils:master ) I'm getting this message:

(DEFSYSTEM :SCREAMER :SERIAL T :LICENCE "MIT" :DESCRIPTION "Nondeterministic programming and constraint propagation." :AUTHOR "Originally Jeffrey Mark Siskind & David Allen McAllester, extended by Swapneil Singh" :MAINTAINER "Swapneil Singh" :VERSION "5.0.0" :DEPENDS-ON ("alexandria" "serapeum" "iterate") :COMPONENTS ((:FILE "package") (:FILE "screamer"))): "MIT" was found where a keyword symbol is expected

When I load Serapeum with quicklisp I've got this:

; Loading "serapeum" On Lispworks, we cannot add method to DESCRIBE-OBJECT, so you cannot enjoy extended documentations for various namespaces ("serapeum")

Any suggestion how to fix these?

Best, P

PHRaposo avatar Apr 06 '24 14:04 PHRaposo

Hey @PHRaposo,

First of all, regarding your attempt to load the .asd file: ASDF files aren't loaded as common lisp files. In a running CL image, we provide ASDF with information about which directories to look for projects in, and when we try to load a system it checks those directories for .asd files and parses them. It's analogous to using an edn file for package configuration in Clojure, as I believe the newer build system does. I'd recommend you read through the Cookbook page on ASDF systems for a quick intro.

Secondly, as I understand LispWorks supports ASDF system definitions. Have you tried the steps in Using ASDF?

Thirdly, regarding Alexandria and Serapeum, these are both libraries that were created to provide common utilities for other Common Lisp libraries to build upon.

To go into more detail (you can skip to the TLDR if you want 😉), Alexandria strives to be a compatible and self-contained basis for other libraries to build on, and is most certainly usable on LispWorks. After setting up ASDF, you can also set up QuickLisp, the CL package manager for the early 2000s and just run (ql:quickload :alexandria). Alternatively, you could just pull the git repository into a folder known to ASDF (see where ASDF looks for packages and how to configure this if you want) so that ASDF can find it when loading Screamer.

Serapeum is meant to be a more advanced set of core utilities building on the extremely minimal set provided in Alexandria. It uses some compatibility libraries for some functionalities, but those libraries are structured to act as no-ops in Lisps that don't support them, so Serapeum is also extremely compatible with different implementations (I know for a fact it works in LispWorks, and it has some internal compatibility settings to avoid bugs from LispWorks's differences to open-source Common Lisp implementations)). As with Alexandria, you can load it via QuickLisp. Otherwise, you clone it wherever you cloned Alexandria, and then go through its 12 dependency packages and clone them all as well (as well as any dependencies they may have); just searching "Common Lisp <package name here>" is a convenient way to find their repositories, or you could just check the projects directory in Quicklisp's public list of projects and read the sources.txt of each package to get its git URL.

TLDR my recommendation here would be:

  1. Use the Using ASDF page in the LispWorks documentation to get ASDF working.
  2. Read through the CL Cookbook page on ASDF systems just to get some background context on what ASDF is. You don't have to, but it'd be nice to have the info if you're going to be working with these systems, and (as @rpgoldman mentioned above) I doubt it would be too difficult to give OpenMusic a simplistic ASDF definition if you wanted.
  3. Install QuickLisp with the instructions on the homepage (loading the installation file and then running (quicklisp-quickstart:install))
    • Note: After installation, you can either load (load "~/quicklisp/setup.lisp") in this and every future lisp session to load in the installed QuickLisp distribution, or you could run (ql:add-to-init-file) once to load quicklisp at the beginning of your local init file for your LispWorks distribution (see the CL Cookbook Getting Started guide for the code snippet this adds to your init file)
  4. Clone swapneils:master to ~/quicklisp/local-projects so that you're using my version instead of the one by nikodemus (I expect this to be a temporary step, until my work dies down and I can afford the time to change the registered Screamer repository in QuickLisp to my own and put together a proper testing setup)
  5. Run (ql:quickload :screamer) to load Screamer and all it's dependencies.

Given that it appears some users don't have QuickLisp already set up, I'll consider if we can remove the serapeum dependency as a backlog (meaning Alexandria and Iterate would be the only dependencies you'd need to install, both libraries that are common enough you'd likely need them for other Lisp-based projects as well), but I can't spare the bandwidth for that right now (which is why I used serapeum in the first place rather than implementing what it does here for myself).

Appendix: Regarding loading things manually (which I don't recommend), screamer itself is currently fully contained in the package.lisp and screamer.lisp files (you can see which files are read from the :components element of the asd system definition here), so technically if you have the dependencies loaded you can just load those files directly (in that order, btw).

Similarly, Iterate is also contained in two files (see its asdf definition in the GitLab repo), so those files could also be loaded directly.

Alexandria and Serapeum are a full-fledged "core library" meant to be used across lisp implementations, however, so they have a bunch of different files. It's certainly possible to literally go through all of Serapeum's dependencies, load the files in each of them by following the dependency instructions in their system definitions, and then do the same for alexandria and serapeum themselves, but that's a bit ridiculous.

swapneils avatar Apr 06 '24 18:04 swapneils

Hi @swapneils ,

Thank you for your very detailed response.

1.

I've followed your suggestions and I've cloned your version of Screamer into my local projects. However, when I try to load screamer (with ql:quickload "screamer") I've got the following messages on LW: To load "screamer": Load 1 ASDF system: screamer ; Loading "screamer" On Lispworks, we cannot add method to DESCRIBE-OBJECT, so you cannot enjoy extended documentations for various namespaces[package screamer] ................................ [package screamer-user].

**++++ Error between functions: Documentation NIL not of type STRING.

**++++ Error between functions: Documentation NIL not of type STRING. . ........ ............. . ... .

**++++ Error between functions: Cannot (currently) handle the special form MACROLET .. . ; *** 3 errors detected, no fasl file produced.

Unfortunately, I don't know how to proceed from here.

2.

About Openmusic, I was investigating and it's distribution includes ASDF support and the following systems:

("babel" "uiop" "cl-svg" "alexandria" "asdf-package-system" "cffi-grovel" "asdf" "osc" "trivial-features" "cffi" "lispworks-udp")

The main problem is, when running the software, it's not possible to use "compile-file" or "compile-file-pathname". So quicklisp don't work. This is already known to the community of OM users.

I've created, as a workaround, a user interface to load .asd files and only source files (.lisp) using "(asdf:oos :load-source-op "system)". It's works (I've tested with "serapeum"), but now I'm having the same problem that I've described before using only LW.

PHRaposo avatar Apr 07 '24 10:04 PHRaposo

For 2: Nice, glad to see that's worked out!

For 1: That's an interesting error. I think the DESCRIBE-OBJECT is just a warning rather than an error, but regarding the other two:

  • Are you loading this code in a LW session that already has Screamer-dependent code in it?
    • Does the quickload work if you run it in a new LispWorks session with only QuickLisp imported (i.e. without any OpenMusic / OM-Screamer code)?
  • Do you have a more detailed stack trace from LW regarding the Documentation NIL not of type STRING. error? Apparently this is the first time github has encountered this issue...
    • I've published a minor fix to docstring logic in defvar-compile-time, can you check if that fixes the issue?
  • The MACROLET error is because there is a MACROLET form inside a nondeterministic form; this is something that Screamer currently does not support. If this is in a session with existing Screamer code, it's possible that some forms were not being read correctly before due to the bug in APPLY-NONDETERMINISTIC, and are now being correctly caught and errored on.
    • If importing into a new LW session doesn't work, could you check from the bottom up which top-level definitions in screamer.lisp have been successfully defined, so we can pinpoint where in the file we run into errors? (If the screamer:template function is defined then the condition is being thrown either somewhere outside Screamer's code or in one of the many auxiliary files I haven't gotten to cleaning up (e.g. primordial.lisp or tests.lisp)).

swapneils avatar Apr 13 '24 18:04 swapneils

Hi @swapneils ,

For my previous test, I've loaded the code in a LW session, without Openmusic and OM-Screamer.

I've just made a new test, loading serapeum first and package.lisp from your last update. Then I tried to compile the screamer.lisp file.

I've also changed the following lines in screamer.lisp to avoid loading .asd file: (defparameter screamer-version "5.0.0" ;(asdf:component-version (asdf:find-system :screamer)) "The version of Screamer which is loaded.")

This is the result (the documentation error is gone now):

CL-USER 1 > (ql:quickload "serapeum") To load "serapeum": Load 1 ASDF system: serapeum ; Loading "serapeum" On Lispworks, we cannot add method to DESCRIBE-OBJECT, so you cannot enjoy extended documentations for various namespaces ("serapeum")

; Loading text file package.lisp Warning: Local nickname "ITER" for "ITERATE" in package "SCREAMER" matches nickname of "ITERATE"

---- Done ----

;;; Compiling file screamer.lisp ... ;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 1 ;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3 ;;; Source level debugging is on ;;; Source file recording is on ;;; Cross referencing is on ; (TOP-LEVEL-FORM 0) ; (TOP-LEVEL-FORM 1) ; (TOP-LEVEL-FORM 2) ; SCREAMER:DEFINE-SCREAMER-PACKAGE ; (DEFPACKAGE "SCREAMER-USER") ; SCREAMER::DEFSTRUCT-COMPILE-TIME ; SCREAMER::DEFVAR-COMPILE-TIME ; SCREAMER::DEFUN-COMPILE-TIME ; SCREAMER::DEFMACRO-COMPILE-TIME ; (DEFPARAMETER SCREAMER:SCREAMER-VERSION) ; (DEFVAR SCREAMER:ISCREAM?) ; (DEFVAR SCREAMER::NONDETERMINISTIC?) ; (DEFVAR SCREAMER::SCREAMER?) ; (DEFVAR SCREAMER::NONDETERMINISTIC-CONTEXT?) ; (DEFVAR SCREAMER::LOCAL?) ; (DEFVAR SCREAMER::BLOCK-TAGS) ; (DEFVAR SCREAMER::TAGBODY-TAGS) ; (DEFVAR SCREAMER::TRAIL) ; SCREAMER:WITH-TRAIL ; (DEFVAR SCREAMER::SCREAMER-RESULTS) ; (DEFPARAMETER SCREAMER:POSSIBILITY-CONSOLIDATOR) ; (DEFVAR SCREAMER:NUMERIC-BOUNDS-COLLAPSE-THRESHOLD) ; SCREAMER::ROUGHLY-= ;;;*** Warning in ROUGHLY-=: The definition of ROUGHLY-= is already compiled. ; SCREAMER::ROUGHLY-<= ;;;*** Warning in ROUGHLY-<=: The definition of ROUGHLY-<= is already compiled. ; (DEFVAR SCREAMER::CONS-CACHE) ; (DEFVAR SCREAMER::CONS-CACHE-LEN) ; (DEFVAR SCREAMER::CONS-CACHE-MAX-LEN) ; SCREAMER::CACHED-CONS ;;;*** Warning in CACHED-CONS: The definition of CACHED-CONS is already compiled. ; SCREAMER::RELEASE-CONS ;;;*** Warning in RELEASE-CONS: The definition of RELEASE-CONS is already compiled. ; SCREAMER::CACHED-LIST ; SCREAMER::CACHED-LIST* ; SCREAMER::RELEASE-LIST ;;;*** Warning in RELEASE-LIST: The definition of RELEASE-LIST is already compiled. ; SCREAMER::CACHED-PUSH ; SCREAMER::CACHED-MAPCAR ;;;*** Warning in CACHED-MAPCAR: The definition of CACHED-MAPCAR is already compiled. ; SCREAMER::NOTF ;;;*** Warning in NOTF: The definition of NOTF is already compiled. ; SCREAMER::ANDF ;;;*** Warning in ANDF: The definition of ANDF is already compiled. ; SCREAMER::ORF ;;;*** Warning in ORF: The definition of ORF is already compiled. ; (DEFVAR SCREAMER::FUNCTION-RECORD-TABLE) ; (DEFVAR SCREAMER::ORDERED-LAMBDA-LIST-KEYWORDS) ; SCREAMER::CHOICE-POINT-INTERNAL ; SCREAMER::CHOICE-POINT-EXTERNAL ; SCREAMER::CHOICE-POINT ; (SUBFUNCTION (DEFSETF SCREAMER::FUNCTION-RECORD-SCREAMER?) (DEFSTRUCT SCREAMER::FUNCTION-RECORD)) ; (SUBFUNCTION (DEFSETF SCREAMER::FUNCTION-RECORD-OLD-DETERMINISTIC?) (DEFSTRUCT SCREAMER::FUNCTION-RECORD)) ; (SUBFUNCTION (DEFSETF SCREAMER::FUNCTION-RECORD-DETERMINISTIC?) (DEFSTRUCT SCREAMER::FUNCTION-RECORD)) ; (SUBFUNCTION (DEFSETF SCREAMER::FUNCTION-RECORD-CALLEES) (DEFSTRUCT SCREAMER::FUNCTION-RECORD)) ; (SUBFUNCTION (DEFSETF SCREAMER::FUNCTION-RECORD-BODY) (DEFSTRUCT SCREAMER::FUNCTION-RECORD)) ; (SUBFUNCTION (DEFSETF SCREAMER::FUNCTION-RECORD-LAMBDA-LIST) (DEFSTRUCT SCREAMER::FUNCTION-RECORD)) ; (SUBFUNCTION (DEFSETF SCREAMER::FUNCTION-RECORD-FUNCTION-NAME) (DEFSTRUCT SCREAMER::FUNCTION-RECORD)) ; (SUBFUNCTION SCREAMER::MAKE-FUNCTION-RECORD (DEFSTRUCT SCREAMER::FUNCTION-RECORD)) ; (SUBFUNCTION SCREAMER::MAKE-FUNCTION-RECORD (DEFSTRUCT SCREAMER::FUNCTION-RECORD)) ; (SUBFUNCTION (DEFSETF SCREAMER::NONDETERMINISTIC-FUNCTION-FUNCTION) (DEFSTRUCT SCREAMER::NONDETERMINISTIC-FUNCTION)) ; (SUBFUNCTION SCREAMER::MAKE-NONDETERMINISTIC-FUNCTION (DEFSTRUCT SCREAMER::NONDETERMINISTIC-FUNCTION)) ; (SUBFUNCTION SCREAMER::MAKE-NONDETERMINISTIC-FUNCTION (DEFSTRUCT SCREAMER::NONDETERMINISTIC-FUNCTION)) ; SCREAMER::SCREAMER-ERROR ;;;*** Warning in SCREAMER-ERROR: The definition of SCREAMER-ERROR is already compiled. ; SCREAMER::GET-FUNCTION-RECORD ;;;*** Warning in GET-FUNCTION-RECORD: The definition of GET-FUNCTION-RECORD is already compiled. ; SCREAMER::PEAL-OFF-DOCUMENTATION-STRING-AND-DECLARATIONS ;;;*** Warning in PEAL-OFF-DOCUMENTATION-STRING-AND-DECLARATIONS: The definition of PEAL-OFF-DOCUMENTATION-STRING-AND-DECLARATIONS is already compiled. ; SCREAMER::SELF-EVALUATING? ;;;*** Warning in SELF-EVALUATING?: The definition of SELF-EVALUATING? is already compiled. ; SCREAMER::QUOTIFY ;;;*** Warning in QUOTIFY: The definition of QUOTIFY is already compiled. ; SCREAMER::LAMBDA-EXPRESSION? ;;;*** Warning in LAMBDA-EXPRESSION?: The definition of LAMBDA-EXPRESSION? is already compiled. ; SCREAMER::VALID-FUNCTION-NAME? ;;;*** Warning in VALID-FUNCTION-NAME?: The definition of VALID-FUNCTION-NAME? is already compiled. ; SCREAMER::CHECK-FUNCTION-NAME ;;;*** Warning in CHECK-FUNCTION-NAME: The definition of CHECK-FUNCTION-NAME is already compiled. ; SCREAMER::EVERY-OTHER ;;;*** Warning in EVERY-OTHER: The definition of EVERY-OTHER is already compiled. ; SCREAMER::CHECK-LAMBDA-LIST-INTERNAL ;;;*** Warning in CHECK-LAMBDA-LIST-INTERNAL: The definition of CHECK-LAMBDA-LIST-INTERNAL is already compiled. ; SCREAMER::CHECK-LAMBDA-LIST ;;;*** Warning in CHECK-LAMBDA-LIST: The definition of CHECK-LAMBDA-LIST is already compiled. ; SCREAMER::WALK-LAMBDA-LIST-REDUCING ;;;*** Warning in WALK-LAMBDA-LIST-REDUCING: The definition of WALK-LAMBDA-LIST-REDUCING is already compiled. ; SCREAMER::WALK-LAMBDA-LIST ;;;*** Warning in WALK-LAMBDA-LIST: The definition of WALK-LAMBDA-LIST is already compiled. ; SCREAMER::WALK-BLOCK ;;;*** Warning in WALK-BLOCK: The definition of WALK-BLOCK is already compiled. ; SCREAMER::WALK-CATCH ;;;*** Warning in WALK-CATCH: The definition of WALK-CATCH is already compiled. ; SCREAMER::WALK-EVAL-WHEN ;;;*** Warning in WALK-EVAL-WHEN: The definition of WALK-EVAL-WHEN is already compiled. ; SCREAMER::WALK-FLET/LABELS ;;;*** Warning in WALK-FLET/LABELS: The definition of WALK-FLET/LABELS is already compiled. ; SCREAMER::WALK-FUNCTION ;;;*** Warning in WALK-FUNCTION: The definition of WALK-FUNCTION is already compiled. ; SCREAMER::WALK-GO ;;;*** Warning in WALK-GO: The definition of WALK-GO is already compiled. ; SCREAMER::WALK-IF ;;;*** Warning in WALK-IF: The definition of WALK-IF is already compiled. ; SCREAMER::WALK-LET/LET* ;;;*** Warning in WALK-LET/LET*: The definition of WALK-LET/LET* is already compiled. ; SCREAMER::WALK-MULTIPLE-VALUE-CALL ;;;*** Warning in WALK-MULTIPLE-VALUE-CALL: The definition of WALK-MULTIPLE-VALUE-CALL is already compiled. ; SCREAMER::WALK-MULTIPLE-VALUE-PROG1 ;;;*** Warning in WALK-MULTIPLE-VALUE-PROG1: The definition of WALK-MULTIPLE-VALUE-PROG1 is already compiled. ; SCREAMER::WALK-PROGN ;;;*** Warning in WALK-PROGN: The definition of WALK-PROGN is already compiled. ; SCREAMER::WALK-PROGV ;;;*** Warning in WALK-PROGV: The definition of WALK-PROGV is already compiled. ; SCREAMER::WALK-QUOTE ;;;*** Warning in WALK-QUOTE: The definition of WALK-QUOTE is already compiled. ; SCREAMER::WALK-RETURN-FROM ;;;*** Warning in WALK-RETURN-FROM: The definition of WALK-RETURN-FROM is already compiled. ; SCREAMER::WALK-SETQ ;;;*** Warning in WALK-SETQ: The definition of WALK-SETQ is already compiled. ; SCREAMER::WALK-TAGBODY ;;;*** Warning in WALK-TAGBODY: The definition of WALK-TAGBODY is already compiled. ; SCREAMER::WALK-THE ;;;*** Warning in WALK-THE: The definition of WALK-THE is already compiled. ; SCREAMER::WALK-THROW ;;;*** Warning in WALK-THROW: The definition of WALK-THROW is already compiled. ; SCREAMER::WALK-UNWIND-PROTECT ;;;*** Warning in WALK-UNWIND-PROTECT: The definition of WALK-UNWIND-PROTECT is already compiled. ; SCREAMER::WALK-FOR-EFFECTS ;;;*** Warning in WALK-FOR-EFFECTS: The definition of WALK-FOR-EFFECTS is already compiled. ; SCREAMER::WALK-SETF ;;;*** Warning in WALK-SETF: The definition of WALK-SETF is already compiled. ; SCREAMER::WALK-MULTIPLE-VALUE-CALL-NONDETERMINISTIC ;;;*** Warning in WALK-MULTIPLE-VALUE-CALL-NONDETERMINISTIC: The definition of WALK-MULTIPLE-VALUE-CALL-NONDETERMINISTIC is already compiled. ; SCREAMER::WALK-FULL ;;;*** Warning in WALK-FULL: The definition of WALK-FULL is already compiled. ; SCREAMER::WALK-MACRO-CALL ;;;*** Warning in WALK-MACRO-CALL: The definition of WALK-MACRO-CALL is already compiled. ; SCREAMER::WALK-FUNCTION-CALL ;;;*** Warning in WALK-FUNCTION-CALL: The definition of WALK-FUNCTION-CALL is already compiled. ; SCREAMER::WALK ;;;*** Warning in WALK: The definition of WALK is already compiled. ; SCREAMER::PROCESS-SUBFORMS ;;;*** Warning in PROCESS-SUBFORMS: The definition of PROCESS-SUBFORMS is already compiled. ; SCREAMER::DETERMINISTIC? ;;;*** Warning in DETERMINISTIC?: The definition of DETERMINISTIC? is already compiled. ; SCREAMER::DETERMINISTIC-LAMBDA-LIST? ;;;*** Warning in DETERMINISTIC-LAMBDA-LIST?: The definition of DETERMINISTIC-LAMBDA-LIST? is already compiled. ; SCREAMER::NEEDS-SUBSTITUTION? ;;;*** Warning in NEEDS-SUBSTITUTION?: The definition of NEEDS-SUBSTITUTION? is already compiled. ; SCREAMER::CONTAINS-LOCAL-SETF/SETQ? ;;;*** Warning in CONTAINS-LOCAL-SETF/SETQ?: The definition of CONTAINS-LOCAL-SETF/SETQ? is already compiled. ; SCREAMER::FORM-CALLEES ;;;*** Warning in FORM-CALLEES: The definition of FORM-CALLEES is already compiled. ; SCREAMER::CALLEES ;;;*** Warning in CALLEES: The definition of CALLEES is already compiled. ; SCREAMER::INDIRECT-CALLEES-INTERNAL ;;;*** Warning in INDIRECT-CALLEES-INTERNAL: The definition of INDIRECT-CALLEES-INTERNAL is already compiled. ; SCREAMER::INDIRECT-CALLEES ;;;*** Warning in INDIRECT-CALLEES: The definition of INDIRECT-CALLEES is already compiled. ; SCREAMER::CALLERS ;;;*** Warning in CALLERS: The definition of CALLERS is already compiled. ; SCREAMER::INDIRECT-CALLERS-INTERNAL ;;;*** Warning in INDIRECT-CALLERS-INTERNAL: The definition of INDIRECT-CALLERS-INTERNAL is already compiled. ; SCREAMER::INDIRECT-CALLERS ;;;*** Warning in INDIRECT-CALLERS: The definition of INDIRECT-CALLERS is already compiled. ; SCREAMER::EXPAND-LOCAL-SETF ;;;*** Warning in EXPAND-LOCAL-SETF: The definition of EXPAND-LOCAL-SETF is already compiled. ; SCREAMER::EXPAND-LOCAL-SETQ ;;;*** Warning in EXPAND-LOCAL-SETQ: The definition of EXPAND-LOCAL-SETQ is already compiled. ; SCREAMER::PERFORM-SUBSTITUTIONS ;;;*** Warning in PERFORM-SUBSTITUTIONS: The definition of PERFORM-SUBSTITUTIONS is already compiled. ; SCREAMER::IS-MAGIC-DECLARATION? ;;;*** Warning in IS-MAGIC-DECLARATION?: The definition of IS-MAGIC-DECLARATION? is already compiled. ; SCREAMER::IS-MAGIC-CONTINUATION? ;;;*** Warning in IS-MAGIC-CONTINUATION?: The definition of IS-MAGIC-CONTINUATION? is already compiled. ; SCREAMER::MAGIC-CONTINUATION-ARGUMENT ;;;*** Warning in MAGIC-CONTINUATION-ARGUMENT: The definition of MAGIC-CONTINUATION-ARGUMENT is already compiled. ; SCREAMER::POSSIBLY-BETA-REDUCE-FUNCALL ;;;*** Warning in POSSIBLY-BETA-REDUCE-FUNCALL: The definition of POSSIBLY-BETA-REDUCE-FUNCALL is already compiled. ; SCREAMER::VOID-CONTINUATION ;;;*** Warning in VOID-CONTINUATION: The definition of VOID-CONTINUATION is already compiled. ; SCREAMER::CPS-CONVERT-FUNCTION-NAME ;;;*** Warning in CPS-CONVERT-FUNCTION-NAME: The definition of CPS-CONVERT-FUNCTION-NAME is already compiled. ; SCREAMER::CPS-CONVERT-BLOCK ;;;*** Warning in CPS-CONVERT-BLOCK: The definition of CPS-CONVERT-BLOCK is already compiled. ; SCREAMER::CPS-CONVERT-IF ;;;*** Warning in CPS-CONVERT-IF: The definition of CPS-CONVERT-IF is already compiled. ; SCREAMER::CPS-CONVERT-LET ;;;*** Warning in CPS-CONVERT-LET: The definition of CPS-CONVERT-LET is already compiled. ; SCREAMER::CPS-CONVERT-LET* ;;;*** Warning in CPS-CONVERT-LET*: The definition of CPS-CONVERT-LET* is already compiled. ; SCREAMER::CPS-CONVERT-MULTIPLE-VALUE-CALL-INTERNAL ;;;*** Warning in CPS-CONVERT-MULTIPLE-VALUE-CALL-INTERNAL: The definition of CPS-CONVERT-MULTIPLE-VALUE-CALL-INTERNAL is already compiled. ; SCREAMER::CPS-CONVERT-MULTIPLE-VALUE-CALL ;;;*** Warning in CPS-CONVERT-MULTIPLE-VALUE-CALL: The definition of CPS-CONVERT-MULTIPLE-VALUE-CALL is already compiled. ; SCREAMER::CPS-CONVERT-MULTIPLE-VALUE-PROG1 ;;;*** Warning in CPS-CONVERT-MULTIPLE-VALUE-PROG1: The definition of CPS-CONVERT-MULTIPLE-VALUE-PROG1 is already compiled. ; SCREAMER::CPS-CONVERT-PROGN ;;;*** Warning in CPS-CONVERT-PROGN: The definition of CPS-CONVERT-PROGN is already compiled. ; SCREAMER::CPS-CONVERT-RETURN-FROM ;;;*** Warning in CPS-CONVERT-RETURN-FROM: The definition of CPS-CONVERT-RETURN-FROM is already compiled. ; SCREAMER::CPS-CONVERT-SETQ ;;;*** Warning in CPS-CONVERT-SETQ: The definition of CPS-CONVERT-SETQ is already compiled. ; SCREAMER::CPS-CONVERT-TAGBODY ;;;*** Warning in CPS-CONVERT-TAGBODY: The definition of CPS-CONVERT-TAGBODY is already compiled. ; SCREAMER::CPS-CONVERT-LOCAL-SETF/SETQ ;;;*** Warning in CPS-CONVERT-LOCAL-SETF/SETQ: The definition of CPS-CONVERT-LOCAL-SETF/SETQ is already compiled. ; SCREAMER::CPS-CONVERT-CALL ;;;*** Warning in CPS-CONVERT-CALL: The definition of CPS-CONVERT-CALL is already compiled. ; SCREAMER::CPS-NON-CONVERT-CALL ;;;*** Warning in CPS-NON-CONVERT-CALL: The definition of CPS-NON-CONVERT-CALL is already compiled. ; SCREAMER::CPS-CONVERT ;;;*** Warning in CPS-CONVERT: The definition of CPS-CONVERT is already compiled. ; SCREAMER::DECLARE-DETERMINISTIC ;;;*** Warning in DECLARE-DETERMINISTIC: The definition of DECLARE-DETERMINISTIC is already compiled. ; SCREAMER::DECLARE-NONDETERMINISTIC ;;;*** Warning in DECLARE-NONDETERMINISTIC: The definition of DECLARE-NONDETERMINISTIC is already compiled. ; SCREAMER::COMPUTE-CALLEES ;;;*** Warning in COMPUTE-CALLEES: The definition of COMPUTE-CALLEES is already compiled. ; SCREAMER::CACHE-DEFINITION ;;;*** Warning in CACHE-DEFINITION: The definition of CACHE-DEFINITION is already compiled. ; SCREAMER::DETERMINE-WHETHER-DETERMINISTIC ;;;*** Warning in DETERMINE-WHETHER-DETERMINISTIC: The definition of DETERMINE-WHETHER-DETERMINISTIC is already compiled. ; SCREAMER::DETERMINE-WHETHER-CALLERS-ARE-DETERMINISTIC ;;;*** Warning in DETERMINE-WHETHER-CALLERS-ARE-DETERMINISTIC: The definition of DETERMINE-WHETHER-CALLERS-ARE-DETERMINISTIC is already compiled. ; SCREAMER::FUNCTION-DEFINITION ;;;*** Warning in FUNCTION-DEFINITION: The definition of FUNCTION-DEFINITION is already compiled. ; SCREAMER::MODIFIED-FUNCTION-DEFINITIONS ;;;*** Warning in MODIFIED-FUNCTION-DEFINITIONS: The definition of MODIFIED-FUNCTION-DEFINITIONS is already compiled. ; SCREAMER::DEFUN ; SCREAMER:EITHER ; SCREAMER::EITHER-PROB-INTERNAL ; SCREAMER:EITHER-PROB ; SCREAMER:LOCAL ; SCREAMER:GLOBAL ; SCREAMER:FOR-EFFECTS ; SCREAMER:ONE-VALUE ; SCREAMER:POSSIBLY? ; SCREAMER:NECESSARILY? ; SCREAMER:ALL-VALUES ; SCREAMER:ALL-VALUES-PROB ; SCREAMER:EXPECTED-PROB ; SCREAMER:EXPECTED-VALUE ; SCREAMER:N-VALUES ; SCREAMER:N-VALUES-PROB ; SCREAMER:ITH-VALUE ; (TOP-LEVEL-FORM 144) ; SCREAMER:TRAIL ; (TOP-LEVEL-FORM 144) ; (TOP-LEVEL-FORM 144) ; (TOP-LEVEL-FORM 145) ; SCREAMER:TRAIL-PROB ; (TOP-LEVEL-FORM 145) ; (TOP-LEVEL-FORM 145) ; (TOP-LEVEL-FORM 146) ; SCREAMER::POP-TRAIL ; (TOP-LEVEL-FORM 146) ; (TOP-LEVEL-FORM 146) ; (TOP-LEVEL-FORM 147) ; SCREAMER::UNWIND-TRAIL-TO ; (TOP-LEVEL-FORM 147) ; (TOP-LEVEL-FORM 147) ; (TOP-LEVEL-FORM 148) ; SCREAMER:UNWIND-TRAIL ; (TOP-LEVEL-FORM 148) ; (TOP-LEVEL-FORM 148) ; (TOP-LEVEL-FORM 149) ; SCREAMER:CURRENT-PROBABILITY ; (TOP-LEVEL-FORM 149) ; (TOP-LEVEL-FORM 149) ; (TOP-LEVEL-FORM 150) ; SCREAMER::Y-OR-N-P ; (TOP-LEVEL-FORM 150) ; (TOP-LEVEL-FORM 150) ; SCREAMER:PRINT-VALUES ; (TOP-LEVEL-FORM 152) ; (TOP-LEVEL-FORM 153) ; SCREAMER::PRINT-NONDETERMINISTIC-FUNCTION ; (TOP-LEVEL-FORM 153) ; (TOP-LEVEL-FORM 153) ; (TOP-LEVEL-FORM 154) ; SCREAMER:A-BOOLEAN ; SCREAMER::A-BOOLEAN-NONDETERMINISTIC ; (TOP-LEVEL-FORM 157) ; SCREAMER:A-BOOLEAN-PROB ; SCREAMER::A-BOOLEAN-PROB-NONDETERMINISTIC ; (TOP-LEVEL-FORM 157) ; (TOP-LEVEL-FORM 157) ; (DEFVAR SCREAMER::FAIL) ; (TOP-LEVEL-FORM 159) ; SCREAMER:FAIL ; (TOP-LEVEL-FORM 159) ; (TOP-LEVEL-FORM 159) ; SCREAMER:WHEN-FAILING ; SCREAMER:COUNT-FAILURES ; (TOP-LEVEL-FORM 162) ; SCREAMER:NONDETERMINISTIC-FUNCTION? ; (TOP-LEVEL-FORM 162) ; (TOP-LEVEL-FORM 162) ; (TOP-LEVEL-FORM 163) ; SCREAMER:FUNCALL-NONDETERMINISTIC ; SCREAMER::FUNCALL-NONDETERMINISTIC-NONDETERMINISTIC ; (TOP-LEVEL-FORM 166) ; SCREAMER:APPLY-NONDETERMINISTIC ; SCREAMER::APPLY-NONDETERMINISTIC-NONDETERMINISTIC ; SCREAMER:MULTIPLE-VALUE-CALL-NONDETERMINISTIC ; SCREAMER::MULTIPLE-VALUE-BIND ; (TOP-LEVEL-FORM 171) ; SCREAMER:PURGE ; (TOP-LEVEL-FORM 171) ; (TOP-LEVEL-FORM 171) ; (TOP-LEVEL-FORM 172) ; SCREAMER:UNWEDGE-SCREAMER ; (TOP-LEVEL-FORM 172) ; (TOP-LEVEL-FORM 172) ; (TOP-LEVEL-FORM 173) ; SCREAMER:AN-INTEGER ; SCREAMER::AN-INTEGER-NONDETERMINISTIC ; (TOP-LEVEL-FORM 176) ; SCREAMER:AN-INTEGER-ABOVE ; SCREAMER::AN-INTEGER-ABOVE-NONDETERMINISTIC ; (TOP-LEVEL-FORM 179) ; SCREAMER:AN-INTEGER-BELOW ; SCREAMER::AN-INTEGER-BELOW-NONDETERMINISTIC ; (TOP-LEVEL-FORM 182) ; SCREAMER:AN-INTEGER-BETWEEN ; SCREAMER::AN-INTEGER-BETWEEN-NONDETERMINISTIC ; (TOP-LEVEL-FORM 185) ; SCREAMER:AN-INTEGER-BETWEEN-PROB ; SCREAMER::AN-INTEGER-BETWEEN-PROB-NONDETERMINISTIC ; SCREAMER:LET-INTEGERS-BETWEENV ; (TOP-LEVEL-FORM 189) ; SCREAMER:A-MEMBER-OF ; SCREAMER::A-MEMBER-OF-NONDETERMINISTIC ; (TOP-LEVEL-FORM 192) ; SCREAMER:A-MEMBER-OF-PROB ; SCREAMER::A-MEMBER-OF-PROB-NONDETERMINISTIC ; (TOP-LEVEL-FORM 195) ; SCREAMER:SAMPLE ; SCREAMER::SAMPLE-NONDETERMINISTIC ; (TOP-LEVEL-FORM 198) ; SCREAMER:SAMPLE-OPTIMIZING ; SCREAMER::SAMPLE-OPTIMIZING-NONDETERMINISTIC ; (TOP-LEVEL-FORM 201) ; SCREAMER:STATE-TRANSITION ; SCREAMER::STATE-TRANSITION-NONDETERMINISTIC ; (TOP-LEVEL-FORM 204) ; SCREAMER::EMACS-EVAL ; (TOP-LEVEL-FORM 204) ; (TOP-LEVEL-FORM 204) ; SCREAMER:LOCAL-OUTPUT ; (DEFVAR SCREAMER::NAME) ; (DEFVAR SCREAMER:MINIMUM-SHRINK-RATIO) ; (DEFVAR SCREAMER:MAXIMUM-DISCRETIZATION-RANGE) ; (DEFVAR SCREAMER:STRATEGY) ; (SUBFUNCTION (DEFSETF SCREAMER::VARIABLE-UPPER-BOUND) (DEFSTRUCT SCREAMER::VARIABLE)) ; (SUBFUNCTION (DEFSETF SCREAMER::VARIABLE-LOWER-BOUND) (DEFSTRUCT SCREAMER::VARIABLE)) ; (SUBFUNCTION (DEFSETF SCREAMER::VARIABLE-POSSIBLY-NONBOOLEAN-NONNUMBER?) (DEFSTRUCT SCREAMER::VARIABLE)) ; (SUBFUNCTION (DEFSETF SCREAMER::VARIABLE-POSSIBLY-BOOLEAN?) (DEFSTRUCT SCREAMER::VARIABLE)) ; (SUBFUNCTION (DEFSETF SCREAMER::VARIABLE-POSSIBLY-NONREAL-NUMBER?) (DEFSTRUCT SCREAMER::VARIABLE)) ; (SUBFUNCTION (DEFSETF SCREAMER::VARIABLE-POSSIBLY-NONINTEGER-REAL?) (DEFSTRUCT SCREAMER::VARIABLE)) ; (SUBFUNCTION (DEFSETF SCREAMER::VARIABLE-POSSIBLY-INTEGER?) (DEFSTRUCT SCREAMER::VARIABLE)) ; (SUBFUNCTION (DEFSETF SCREAMER::VARIABLE-VALUE) (DEFSTRUCT SCREAMER::VARIABLE)) ; (SUBFUNCTION (DEFSETF SCREAMER::VARIABLE-ENUMERATED-ANTIDOMAIN) (DEFSTRUCT SCREAMER::VARIABLE)) ; (SUBFUNCTION (DEFSETF SCREAMER::VARIABLE-ENUMERATED-DOMAIN) (DEFSTRUCT SCREAMER::VARIABLE)) ; (SUBFUNCTION (DEFSETF SCREAMER::VARIABLE-NOTICERS) (DEFSTRUCT SCREAMER::VARIABLE)) ; (SUBFUNCTION (DEFSETF SCREAMER::VARIABLE-NAME) (DEFSTRUCT SCREAMER::VARIABLE)) ; (SUBFUNCTION SCREAMER::MAKE-VARIABLE-INTERNAL (DEFSTRUCT SCREAMER::VARIABLE)) ; (SUBFUNCTION SCREAMER::MAKE-VARIABLE-INTERNAL (DEFSTRUCT SCREAMER::VARIABLE)) ; SCREAMER::NOTICER-MEMBER ;;;*** Warning in NOTICER-MEMBER: The definition of NOTICER-MEMBER is already compiled. ; (TOP-LEVEL-FORM 212) ; SCREAMER::INTEGERS-BETWEEN ; (TOP-LEVEL-FORM 212) ; (TOP-LEVEL-FORM 212) ; (TOP-LEVEL-FORM 213) ; SCREAMER:BOOLEANP ; (TOP-LEVEL-FORM 213) ; (TOP-LEVEL-FORM 213) ; (TOP-LEVEL-FORM 214) ; SCREAMER::INFINITY-MIN ; (TOP-LEVEL-FORM 214) ; (TOP-LEVEL-FORM 214) ; (TOP-LEVEL-FORM 215) ; SCREAMER::INFINITY-MAX ; (TOP-LEVEL-FORM 215) ; (TOP-LEVEL-FORM 215) ; (TOP-LEVEL-FORM 216) ; SCREAMER::INFINITY-+ ; (TOP-LEVEL-FORM 216) ; (TOP-LEVEL-FORM 216) ; (TOP-LEVEL-FORM 217) ; SCREAMER::INFINITY-- ; (TOP-LEVEL-FORM 217) ; (TOP-LEVEL-FORM 217) ; (TOP-LEVEL-FORM 218) ; SCREAMER::INFINITY-* ; (TOP-LEVEL-FORM 218) ; (TOP-LEVEL-FORM 218) ; (TOP-LEVEL-FORM 219) ; SCREAMER::CONTAINS-VARIABLES? ; (TOP-LEVEL-FORM 219) ; (TOP-LEVEL-FORM 219) ; (TOP-LEVEL-FORM 220) ; SCREAMER::ELIMINATE-VARIABLES ; (TOP-LEVEL-FORM 220) ; (TOP-LEVEL-FORM 220) ; (TOP-LEVEL-FORM 221) ; SCREAMER::PRINT-VARIABLE ; (TOP-LEVEL-FORM 221) ; (TOP-LEVEL-FORM 221) ; (TOP-LEVEL-FORM 222) ; SCREAMER:MAKE-VARIABLE ; (TOP-LEVEL-FORM 222) ; (TOP-LEVEL-FORM 222) ; (TOP-LEVEL-FORM 223) ; SCREAMER::VARIABLE-INTEGER? ; (TOP-LEVEL-FORM 223) ; (TOP-LEVEL-FORM 223) ; (TOP-LEVEL-FORM 224) ; SCREAMER::VARIABLE-NONINTEGER? ; (TOP-LEVEL-FORM 224) ; (TOP-LEVEL-FORM 224) ; (TOP-LEVEL-FORM 225) ; SCREAMER::VARIABLE-REAL? ; (TOP-LEVEL-FORM 225) ; (TOP-LEVEL-FORM 225) ; (TOP-LEVEL-FORM 226) ; SCREAMER::VARIABLE-NONREAL? ; (TOP-LEVEL-FORM 226) ; (TOP-LEVEL-FORM 226) ; (TOP-LEVEL-FORM 227) ; SCREAMER::VARIABLE-NUMBER? ; (TOP-LEVEL-FORM 227) ; (TOP-LEVEL-FORM 227) ; (TOP-LEVEL-FORM 228) ; SCREAMER::VARIABLE-NONNUMBER? ; (TOP-LEVEL-FORM 228) ; (TOP-LEVEL-FORM 228) ; (TOP-LEVEL-FORM 229) ; SCREAMER::VARIABLE-BOOLEAN? ; (TOP-LEVEL-FORM 229) ; (TOP-LEVEL-FORM 229) ; (TOP-LEVEL-FORM 230) ; SCREAMER::VARIABLE-NONBOOLEAN? ; (TOP-LEVEL-FORM 230) ; (TOP-LEVEL-FORM 230) ; (TOP-LEVEL-FORM 231) ; SCREAMER::VARIABLE-TRUE? ; (TOP-LEVEL-FORM 231) ; (TOP-LEVEL-FORM 231) ; (TOP-LEVEL-FORM 232) ; SCREAMER::VARIABLE-FALSE? ; (TOP-LEVEL-FORM 232) ; (TOP-LEVEL-FORM 232) ; (TOP-LEVEL-FORM 233) ; SCREAMER:VALUE-OF ; (TOP-LEVEL-FORM 233) ; (TOP-LEVEL-FORM 233) ; (TOP-LEVEL-FORM 234) ; SCREAMER::VARIABLIZE ; (TOP-LEVEL-FORM 234) ; (TOP-LEVEL-FORM 234) ; (TOP-LEVEL-FORM 235) ; SCREAMER:BOUND? ; (TOP-LEVEL-FORM 235) ; (TOP-LEVEL-FORM 235) ; (TOP-LEVEL-FORM 236) ; SCREAMER:GROUND? ; (TOP-LEVEL-FORM 236) ; (TOP-LEVEL-FORM 236) ; (TOP-LEVEL-FORM 237) ; SCREAMER:APPLY-SUBSTITUTION ; (TOP-LEVEL-FORM 237) ; (TOP-LEVEL-FORM 237) ; (TOP-LEVEL-FORM 238) ; SCREAMER::OCCURS-IN? ; (TOP-LEVEL-FORM 238) ; (TOP-LEVEL-FORM 238) ; (TOP-LEVEL-FORM 239) ; SCREAMER::ATTACH-NOTICER!-INTERNAL ; (TOP-LEVEL-FORM 239) ; (TOP-LEVEL-FORM 239) ; (TOP-LEVEL-FORM 240) ; SCREAMER::ATTACH-NOTICER! ; (TOP-LEVEL-FORM 240) ; (TOP-LEVEL-FORM 240) ; (TOP-LEVEL-FORM 241) ; SCREAMER::RUN-NOTICERS ; (TOP-LEVEL-FORM 241) ; (TOP-LEVEL-FORM 241) ; (TOP-LEVEL-FORM 242) ; SCREAMER::RESTRICT-INTEGER! ; (TOP-LEVEL-FORM 242) ; (TOP-LEVEL-FORM 242) ; (TOP-LEVEL-FORM 243) ; SCREAMER::RESTRICT-NONINTEGER! ; (TOP-LEVEL-FORM 243) ; (TOP-LEVEL-FORM 243) ; (TOP-LEVEL-FORM 244) ; SCREAMER::RESTRICT-REAL! ; (TOP-LEVEL-FORM 244) ; (TOP-LEVEL-FORM 244) ; (TOP-LEVEL-FORM 245) ; SCREAMER::RESTRICT-NONREAL! ; (TOP-LEVEL-FORM 245) ; (TOP-LEVEL-FORM 245) ; (TOP-LEVEL-FORM 246) ; SCREAMER::RESTRICT-NUMBER! ; (TOP-LEVEL-FORM 246) ; (TOP-LEVEL-FORM 246) ; (TOP-LEVEL-FORM 247) ; SCREAMER::RESTRICT-NONNUMBER! ; (TOP-LEVEL-FORM 247) ; (TOP-LEVEL-FORM 247) ; (TOP-LEVEL-FORM 248) ; SCREAMER::RESTRICT-BOOLEAN! ; (TOP-LEVEL-FORM 248) ; (TOP-LEVEL-FORM 248) ; (TOP-LEVEL-FORM 249) ; SCREAMER::RESTRICT-NONBOOLEAN! ; (TOP-LEVEL-FORM 249) ; (TOP-LEVEL-FORM 249) ; (TOP-LEVEL-FORM 250) ; SCREAMER::RESTRICT-LOWER-BOUND! ; (TOP-LEVEL-FORM 250) ; (TOP-LEVEL-FORM 250) ; (TOP-LEVEL-FORM 251) ; SCREAMER::RESTRICT-UPPER-BOUND! ; (TOP-LEVEL-FORM 251) ; (TOP-LEVEL-FORM 251) ; (TOP-LEVEL-FORM 252) ; SCREAMER::RESTRICT-BOUNDS! ; (TOP-LEVEL-FORM 252) ; (TOP-LEVEL-FORM 252) ; (TOP-LEVEL-FORM 253) ; SCREAMER::PRUNE-ENUMERATED-DOMAIN ; (TOP-LEVEL-FORM 253) ; (TOP-LEVEL-FORM 253) ; (TOP-LEVEL-FORM 254) ; SCREAMER::SHARE! ; (TOP-LEVEL-FORM 254) ; (TOP-LEVEL-FORM 254) ; (TOP-LEVEL-FORM 255) ; SCREAMER::RESTRICT-VALUE! ; (TOP-LEVEL-FORM 255) ; (TOP-LEVEL-FORM 255) ; (TOP-LEVEL-FORM 256) ; SCREAMER::RESTRICT-TRUE! ; (TOP-LEVEL-FORM 256) ; (TOP-LEVEL-FORM 256) ; (TOP-LEVEL-FORM 257) ; SCREAMER::RESTRICT-FALSE! ; (TOP-LEVEL-FORM 257) ; (TOP-LEVEL-FORM 257) ; (TOP-LEVEL-FORM 258) ; SCREAMER::SET-ENUMERATED-DOMAIN! ; (TOP-LEVEL-FORM 258) ; (TOP-LEVEL-FORM 258) ; (TOP-LEVEL-FORM 259) ; SCREAMER::RESTRICT-ENUMERATED-DOMAIN! ; (TOP-LEVEL-FORM 259) ; (TOP-LEVEL-FORM 259) ; (TOP-LEVEL-FORM 260) ; SCREAMER::RESTRICT-ENUMERATED-ANTIDOMAIN! ; (TOP-LEVEL-FORM 260) ; (TOP-LEVEL-FORM 260) ; (TOP-LEVEL-FORM 261) ; SCREAMER::+-RULE-UP ; (TOP-LEVEL-FORM 261) ; (TOP-LEVEL-FORM 261) ; (TOP-LEVEL-FORM 262) ; SCREAMER::+-RULE-DOWN ; (TOP-LEVEL-FORM 262) ; (TOP-LEVEL-FORM 262) ; (TOP-LEVEL-FORM 263) ; SCREAMER::/-RULE ; (TOP-LEVEL-FORM 263) ; (TOP-LEVEL-FORM 263) ; (TOP-LEVEL-FORM 264) ; SCREAMER::-RULE-UP ; (TOP-LEVEL-FORM 264) ; (TOP-LEVEL-FORM 264) ; (TOP-LEVEL-FORM 265) ; SCREAMER::-RULE-DOWN ; (TOP-LEVEL-FORM 265) ; (TOP-LEVEL-FORM 265) ; (TOP-LEVEL-FORM 266) ; SCREAMER::MIN-RULE-UP ; (TOP-LEVEL-FORM 266) ; (TOP-LEVEL-FORM 266) ; (TOP-LEVEL-FORM 267) ; SCREAMER::MIN-RULE-DOWN ; (TOP-LEVEL-FORM 267) ; (TOP-LEVEL-FORM 267) ; (TOP-LEVEL-FORM 268) ; SCREAMER::MAX-RULE-UP ; (TOP-LEVEL-FORM 268) ; (TOP-LEVEL-FORM 268) ; (TOP-LEVEL-FORM 269) ; SCREAMER::MAX-RULE-DOWN ; (TOP-LEVEL-FORM 269) ; (TOP-LEVEL-FORM 269) ; (TOP-LEVEL-FORM 270) ; SCREAMER::=-RULE ; (TOP-LEVEL-FORM 270) ; (TOP-LEVEL-FORM 270) ; (TOP-LEVEL-FORM 271) ; SCREAMER::<=-RULE ; (TOP-LEVEL-FORM 271) ; (TOP-LEVEL-FORM 271) ; (TOP-LEVEL-FORM 272) ; SCREAMER::<-RULE ; (TOP-LEVEL-FORM 272) ; (TOP-LEVEL-FORM 272) ; (TOP-LEVEL-FORM 273) ; SCREAMER::/=-RULE ; (TOP-LEVEL-FORM 273) ; (TOP-LEVEL-FORM 273) ; (TOP-LEVEL-FORM 274) ; SCREAMER::|+V2| ; (TOP-LEVEL-FORM 274) ; (TOP-LEVEL-FORM 274) ; (TOP-LEVEL-FORM 275) ; SCREAMER::|-V2| ; (TOP-LEVEL-FORM 275) ; (TOP-LEVEL-FORM 275) ; (TOP-LEVEL-FORM 276) ; SCREAMER::*V2 ; (TOP-LEVEL-FORM 276) ; (TOP-LEVEL-FORM 276) ; (TOP-LEVEL-FORM 277) ; SCREAMER::/V2 ; (TOP-LEVEL-FORM 277) ; (TOP-LEVEL-FORM 277) ; (TOP-LEVEL-FORM 278) ; SCREAMER::MINV2 ; (TOP-LEVEL-FORM 278) ; (TOP-LEVEL-FORM 278) ; (TOP-LEVEL-FORM 279) ; SCREAMER::MAXV2 ; (TOP-LEVEL-FORM 279) ; (TOP-LEVEL-FORM 279) ; (TOP-LEVEL-FORM 280) ; SCREAMER::KNOWN?-INTEGERPV ; (TOP-LEVEL-FORM 280) ; (TOP-LEVEL-FORM 280) ; (TOP-LEVEL-FORM 281) ; SCREAMER::KNOWN?-NOTV-INTEGERPV ; (TOP-LEVEL-FORM 281) ; (TOP-LEVEL-FORM 281) ; (TOP-LEVEL-FORM 282) ; SCREAMER::KNOWN?-REALPV ; (TOP-LEVEL-FORM 282) ; (TOP-LEVEL-FORM 282) ; (TOP-LEVEL-FORM 283) ; SCREAMER::KNOWN?-NOTV-REALPV ; (TOP-LEVEL-FORM 283) ; (TOP-LEVEL-FORM 283) ; (TOP-LEVEL-FORM 284) ; SCREAMER::KNOWN?-NUMBERPV ; (TOP-LEVEL-FORM 284) ; (TOP-LEVEL-FORM 284) ; (TOP-LEVEL-FORM 285) ; SCREAMER::KNOWN?-NOTV-NUMBERPV ; (TOP-LEVEL-FORM 285) ; (TOP-LEVEL-FORM 285) ; (TOP-LEVEL-FORM 286) ; SCREAMER::KNOWN?-BOOLEANPV ; (TOP-LEVEL-FORM 286) ; (TOP-LEVEL-FORM 286) ; (TOP-LEVEL-FORM 287) ; SCREAMER::KNOWN?-NOTV-BOOLEANPV ; (TOP-LEVEL-FORM 287) ; (TOP-LEVEL-FORM 287) ; (TOP-LEVEL-FORM 288) ; SCREAMER::KNOWN?-<=V2-VARIABLE ; (TOP-LEVEL-FORM 288) ; (TOP-LEVEL-FORM 288) ; (TOP-LEVEL-FORM 289) ; SCREAMER::KNOWN?-<V2-VARIABLE ; (TOP-LEVEL-FORM 289) ; (TOP-LEVEL-FORM 289) ; (TOP-LEVEL-FORM 290) ; SCREAMER::KNOWN?-=V2-VARIABLE ; (TOP-LEVEL-FORM 290) ; (TOP-LEVEL-FORM 290) ; (TOP-LEVEL-FORM 291) ; SCREAMER::KNOWN?-/=V2-VARIABLE ; (TOP-LEVEL-FORM 291) ; (TOP-LEVEL-FORM 291) ; (TOP-LEVEL-FORM 292) ; SCREAMER::KNOWN?-=V2-INTERNAL ; (TOP-LEVEL-FORM 292) ; (TOP-LEVEL-FORM 292) ; (TOP-LEVEL-FORM 293) ; SCREAMER::KNOWN?-<=V2-INTERNAL ; (TOP-LEVEL-FORM 293) ; (TOP-LEVEL-FORM 293) ; (TOP-LEVEL-FORM 294) ; SCREAMER::KNOWN?-<V2-INTERNAL ; (TOP-LEVEL-FORM 294) ; (TOP-LEVEL-FORM 294) ; (TOP-LEVEL-FORM 295) ; SCREAMER::KNOWN?-/=V2-INTERNAL ; (TOP-LEVEL-FORM 295) ; (TOP-LEVEL-FORM 295) ; (TOP-LEVEL-FORM 296) ; SCREAMER::KNOWN?-=V2 ; (TOP-LEVEL-FORM 296) ; (TOP-LEVEL-FORM 296) ; (TOP-LEVEL-FORM 297) ; SCREAMER::KNOWN?-<=V2 ; (TOP-LEVEL-FORM 297) ; (TOP-LEVEL-FORM 297) ; (TOP-LEVEL-FORM 298) ; SCREAMER::KNOWN?-<V2 ; (TOP-LEVEL-FORM 298) ; (TOP-LEVEL-FORM 298) ; (TOP-LEVEL-FORM 299) ; SCREAMER::KNOWN?-/=V2 ; (TOP-LEVEL-FORM 299) ; (TOP-LEVEL-FORM 299) ; (TOP-LEVEL-FORM 300) ; SCREAMER::ASSERT!-INTEGERPV ; (TOP-LEVEL-FORM 300) ; (TOP-LEVEL-FORM 300) ; (TOP-LEVEL-FORM 301) ; SCREAMER::ASSERT!-NOTV-INTEGERPV ; (TOP-LEVEL-FORM 301) ; (TOP-LEVEL-FORM 301) ; (TOP-LEVEL-FORM 302) ; SCREAMER::ASSERT!-REALPV ; (TOP-LEVEL-FORM 302) ; (TOP-LEVEL-FORM 302) ; (TOP-LEVEL-FORM 303) ; SCREAMER::ASSERT!-NOTV-REALPV ; (TOP-LEVEL-FORM 303) ; (TOP-LEVEL-FORM 303) ; (TOP-LEVEL-FORM 304) ; SCREAMER::ASSERT!-NUMBERPV ; (TOP-LEVEL-FORM 304) ; (TOP-LEVEL-FORM 304) ; (TOP-LEVEL-FORM 305) ; SCREAMER::ASSERT!-NOTV-NUMBERPV ; (TOP-LEVEL-FORM 305) ; (TOP-LEVEL-FORM 305) ; (TOP-LEVEL-FORM 306) ; SCREAMER::ASSERT!-BOOLEANPV ; (TOP-LEVEL-FORM 306) ; (TOP-LEVEL-FORM 306) ; (TOP-LEVEL-FORM 307) ; SCREAMER::ASSERT!-NOTV-BOOLEANPV ; (TOP-LEVEL-FORM 307) ; (TOP-LEVEL-FORM 307) ; (TOP-LEVEL-FORM 308) ; SCREAMER::ASSERT!-=V2 ; (TOP-LEVEL-FORM 308) ; (TOP-LEVEL-FORM 308) ; (TOP-LEVEL-FORM 309) ; SCREAMER::ASSERT!-<=V2 ; (TOP-LEVEL-FORM 309) ; (TOP-LEVEL-FORM 309) ; (TOP-LEVEL-FORM 310) ; SCREAMER::ASSERT!-<V2 ; (TOP-LEVEL-FORM 310) ; (TOP-LEVEL-FORM 310) ; (TOP-LEVEL-FORM 311) ; SCREAMER::ASSERT!-/=V2 ; (TOP-LEVEL-FORM 311) ; (TOP-LEVEL-FORM 311) ; (TOP-LEVEL-FORM 312) ; SCREAMER:INTEGERPV ; (TOP-LEVEL-FORM 312) ; (TOP-LEVEL-FORM 312) ; (TOP-LEVEL-FORM 313) ; SCREAMER:REALPV ; (TOP-LEVEL-FORM 313) ; (TOP-LEVEL-FORM 313) ; (TOP-LEVEL-FORM 314) ; SCREAMER:NUMBERPV ; (TOP-LEVEL-FORM 314) ; (TOP-LEVEL-FORM 314) ; (TOP-LEVEL-FORM 315) ; SCREAMER:BOOLEANPV ; (TOP-LEVEL-FORM 315) ; (TOP-LEVEL-FORM 315) ; (TOP-LEVEL-FORM 316) ; SCREAMER::KNOWN?-MEMBERV-LIST-INTERNAL ; (TOP-LEVEL-FORM 316) ; (TOP-LEVEL-FORM 316) ; (TOP-LEVEL-FORM 317) ; SCREAMER::KNOWN?-MEMBERV-LIST ; (TOP-LEVEL-FORM 317) ; (TOP-LEVEL-FORM 317) ; (TOP-LEVEL-FORM 318) ; SCREAMER::KNOWN?-MEMBERV-INTERNAL ; (TOP-LEVEL-FORM 318) ; (TOP-LEVEL-FORM 318) ; (TOP-LEVEL-FORM 319) ; SCREAMER::KNOWN?-MEMBERV ; (TOP-LEVEL-FORM 319) ; (TOP-LEVEL-FORM 319) ; (TOP-LEVEL-FORM 320) ; SCREAMER::KNOWN?-NOTV-MEMBERV-LIST-INTERNAL ; (TOP-LEVEL-FORM 320) ; (TOP-LEVEL-FORM 320) ; (TOP-LEVEL-FORM 321) ; SCREAMER::KNOWN?-NOTV-MEMBERV-LIST ; (TOP-LEVEL-FORM 321) ; (TOP-LEVEL-FORM 321) ; (TOP-LEVEL-FORM 322) ; SCREAMER::KNOWN?-NOTV-MEMBERV-INTERNAL ; (TOP-LEVEL-FORM 322) ; (TOP-LEVEL-FORM 322) ; (TOP-LEVEL-FORM 323) ; SCREAMER::KNOWN?-NOTV-MEMBERV ; (TOP-LEVEL-FORM 323) ; (TOP-LEVEL-FORM 323) ; (TOP-LEVEL-FORM 324) ; SCREAMER::ASSERT!-MEMBERV-INTERNAL ; (TOP-LEVEL-FORM 324) ; (TOP-LEVEL-FORM 324) ; (TOP-LEVEL-FORM 325) ; SCREAMER::ASSERT!-MEMBERV ; (TOP-LEVEL-FORM 325) ; (TOP-LEVEL-FORM 325) ; (TOP-LEVEL-FORM 326) ; SCREAMER::ASSERT!-NOTV-MEMBERV-INTERNAL ; (TOP-LEVEL-FORM 326) ; (TOP-LEVEL-FORM 326) ; (TOP-LEVEL-FORM 327) ; SCREAMER::ASSERT!-NOTV-MEMBERV ; (TOP-LEVEL-FORM 327) ; (TOP-LEVEL-FORM 327) ; (TOP-LEVEL-FORM 328) ; SCREAMER:MEMBERV ; (TOP-LEVEL-FORM 328) ; (TOP-LEVEL-FORM 328) ; (TOP-LEVEL-FORM 329) ; SCREAMER::=V2 ; (TOP-LEVEL-FORM 329) ; (TOP-LEVEL-FORM 329) ; (TOP-LEVEL-FORM 330) ; SCREAMER::<=V2 ; (TOP-LEVEL-FORM 330) ; (TOP-LEVEL-FORM 330) ; (TOP-LEVEL-FORM 331) ; SCREAMER::<V2 ; (TOP-LEVEL-FORM 331) ; (TOP-LEVEL-FORM 331) ; (TOP-LEVEL-FORM 332) ; SCREAMER::/=V2 ; (TOP-LEVEL-FORM 332) ; (TOP-LEVEL-FORM 332) ; (TOP-LEVEL-FORM 333) ; SCREAMER:NOTV ; (TOP-LEVEL-FORM 333) ; (TOP-LEVEL-FORM 333) ; (TOP-LEVEL-FORM 334) ; SCREAMER::ANDV-INTERNAL ; (TOP-LEVEL-FORM 334) ; (TOP-LEVEL-FORM 334) ; (TOP-LEVEL-FORM 335) ; SCREAMER:ANDV ; (TOP-LEVEL-FORM 335) ; (TOP-LEVEL-FORM 335) ; (TOP-LEVEL-FORM 336) ; SCREAMER::ASSERT!-NOTV-ANDV-INTERNAL ; (TOP-LEVEL-FORM 336) ; (TOP-LEVEL-FORM 336) ; (TOP-LEVEL-FORM 337) ; SCREAMER::ASSERT!-NOTV-ANDV ; (TOP-LEVEL-FORM 337) ; (TOP-LEVEL-FORM 337) ; (TOP-LEVEL-FORM 338) ; SCREAMER::ORV-INTERNAL ; (TOP-LEVEL-FORM 338) ; (TOP-LEVEL-FORM 338) ; (TOP-LEVEL-FORM 339) ; SCREAMER:ORV ; (TOP-LEVEL-FORM 339) ; (TOP-LEVEL-FORM 339) ; (TOP-LEVEL-FORM 340) ; SCREAMER::ASSERT!-ORV-INTERNAL ; (TOP-LEVEL-FORM 340) ; (TOP-LEVEL-FORM 340) ; (TOP-LEVEL-FORM 341) ; SCREAMER::ASSERT!-ORV ; (TOP-LEVEL-FORM 341) ; (TOP-LEVEL-FORM 341) ; (TOP-LEVEL-FORM 342) ; SCREAMER::ASSERT!-CLAUSE ; (TOP-LEVEL-FORM 342) ; (TOP-LEVEL-FORM 342) ; (TOP-LEVEL-FORM 343) ; SCREAMER::COUNT-TRUES-INTERNAL ; (TOP-LEVEL-FORM 343) ; (TOP-LEVEL-FORM 343) ; (TOP-LEVEL-FORM 344) ; SCREAMER:COUNT-TRUES ; (TOP-LEVEL-FORM 344) ; (TOP-LEVEL-FORM 344) ; (TOP-LEVEL-FORM 345) ; SCREAMER::COUNT-TRUESV-INTERNAL ; (TOP-LEVEL-FORM 345) ; (TOP-LEVEL-FORM 345) ; (TOP-LEVEL-FORM 346) ; SCREAMER:COUNT-TRUESV ; (TOP-LEVEL-FORM 346) ; (TOP-LEVEL-FORM 346) ; (TOP-LEVEL-FORM 347) ; SCREAMER::FINITE-DOMAIN? ; (TOP-LEVEL-FORM 347) ; (TOP-LEVEL-FORM 347) ; (TOP-LEVEL-FORM 348) ; SCREAMER:SOLUTION ; SCREAMER::SOLUTION-NONDETERMINISTIC ; (TOP-LEVEL-FORM 348) ; (TOP-LEVEL-FORM 348) ; (TOP-LEVEL-FORM 349) ; SCREAMER:LINEAR-FORCE ; SCREAMER::LINEAR-FORCE-NONDETERMINISTIC ; (TOP-LEVEL-FORM 349) ; (TOP-LEVEL-FORM 349) ; (TOP-LEVEL-FORM 350) ; SCREAMER::STATIC-ORDERING-INTERNAL ; SCREAMER::STATIC-ORDERING-INTERNAL-NONDETERMINISTIC ; (TOP-LEVEL-FORM 350) ; (TOP-LEVEL-FORM 350) ; (TOP-LEVEL-FORM 351) ; SCREAMER:STATIC-ORDERING ; (TOP-LEVEL-FORM 351) ; (TOP-LEVEL-FORM 351) ; (TOP-LEVEL-FORM 352) ; SCREAMER::KNOWN?-CONSTRAINT ; (TOP-LEVEL-FORM 352) ; (TOP-LEVEL-FORM 352) ; (TOP-LEVEL-FORM 353) ; SCREAMER::PROPAGATE-GFC ; (TOP-LEVEL-FORM 353) ; (TOP-LEVEL-FORM 353) ; (TOP-LEVEL-FORM 354) ; SCREAMER::A-TUPLE ; SCREAMER::A-TUPLE-NONDETERMINISTIC ; (TOP-LEVEL-FORM 354) ; (TOP-LEVEL-FORM 354) ; (TOP-LEVEL-FORM 355) ; SCREAMER::PROPAGATE-AC ; (TOP-LEVEL-FORM 355) ; (TOP-LEVEL-FORM 355) ; (TOP-LEVEL-FORM 356) ; SCREAMER::ASSERT!-CONSTRAINT-GFC ; (TOP-LEVEL-FORM 356) ; (TOP-LEVEL-FORM 356) ; (TOP-LEVEL-FORM 357) ; SCREAMER::ASSERT!-CONSTRAINT-AC ; (TOP-LEVEL-FORM 357) ; (TOP-LEVEL-FORM 357) ; (TOP-LEVEL-FORM 358) ; SCREAMER::ASSERT!-CONSTRAINT ; (TOP-LEVEL-FORM 358) ; (TOP-LEVEL-FORM 358) ; (TOP-LEVEL-FORM 359) ; SCREAMER::KNOWN?-FUNCALLV ; (TOP-LEVEL-FORM 359) ; (TOP-LEVEL-FORM 359) ; (TOP-LEVEL-FORM 360) ; SCREAMER::KNOWN?-NOTV-FUNCALLV ; (TOP-LEVEL-FORM 360) ; (TOP-LEVEL-FORM 360) ; (TOP-LEVEL-FORM 361) ; SCREAMER::ASSERT!-FUNCALLV ; (TOP-LEVEL-FORM 361) ; (TOP-LEVEL-FORM 361) ; (TOP-LEVEL-FORM 362) ; SCREAMER::ASSERT!-NOTV-FUNCALLV ; (TOP-LEVEL-FORM 362) ; (TOP-LEVEL-FORM 362) ; (TOP-LEVEL-FORM 363) ; SCREAMER:FUNCALLV ; (TOP-LEVEL-FORM 363) ; (TOP-LEVEL-FORM 363) ; (TOP-LEVEL-FORM 364) ; SCREAMER::ARGUMENTS-FOR-APPLYV ; (TOP-LEVEL-FORM 364) ; (TOP-LEVEL-FORM 364) ; (TOP-LEVEL-FORM 365) ; SCREAMER::KNOWN?-APPLYV ; (TOP-LEVEL-FORM 365) ; (TOP-LEVEL-FORM 365) ; (TOP-LEVEL-FORM 366) ; SCREAMER::KNOWN?-NOTV-APPLYV ; (TOP-LEVEL-FORM 366) ; (TOP-LEVEL-FORM 366) ; (TOP-LEVEL-FORM 367) ; SCREAMER::ASSERT!-APPLYV ; (TOP-LEVEL-FORM 367) ; (TOP-LEVEL-FORM 367) ; (TOP-LEVEL-FORM 368) ; SCREAMER::ASSERT!-NOTV-APPLYV ; (TOP-LEVEL-FORM 368) ; (TOP-LEVEL-FORM 368) ; (TOP-LEVEL-FORM 369) ; SCREAMER:APPLYV ; (TOP-LEVEL-FORM 369) ; (TOP-LEVEL-FORM 369) ; (TOP-LEVEL-FORM 370) ; SCREAMER::+V-INTERNAL ; (TOP-LEVEL-FORM 370) ; (TOP-LEVEL-FORM 370) ; (TOP-LEVEL-FORM 371) ; SCREAMER:+V ; (TOP-LEVEL-FORM 371) ; (TOP-LEVEL-FORM 371) ; (TOP-LEVEL-FORM 372) ; SCREAMER::-V-INTERNAL ; (TOP-LEVEL-FORM 372) ; (TOP-LEVEL-FORM 372) ; (TOP-LEVEL-FORM 373) ; SCREAMER:-V ; (TOP-LEVEL-FORM 373) ; (TOP-LEVEL-FORM 373) ; (TOP-LEVEL-FORM 374) ; SCREAMER::*V-INTERNAL ; (TOP-LEVEL-FORM 374) ; (TOP-LEVEL-FORM 374) ; (TOP-LEVEL-FORM 375) ; SCREAMER:*V ; (TOP-LEVEL-FORM 375) ; (TOP-LEVEL-FORM 375) ; (TOP-LEVEL-FORM 376) ; SCREAMER::/V-INTERNAL ; (TOP-LEVEL-FORM 376) ; (TOP-LEVEL-FORM 376) ; (TOP-LEVEL-FORM 377) ; SCREAMER:/V ; (TOP-LEVEL-FORM 377) ; (TOP-LEVEL-FORM 377) ; (TOP-LEVEL-FORM 378) ; SCREAMER::MINV-INTERNAL ; (TOP-LEVEL-FORM 378) ; (TOP-LEVEL-FORM 378) ; (TOP-LEVEL-FORM 379) ; SCREAMER:MINV ; (TOP-LEVEL-FORM 379) ; (TOP-LEVEL-FORM 379) ; (TOP-LEVEL-FORM 380) ; SCREAMER::MAXV-INTERNAL ; (TOP-LEVEL-FORM 380) ; (TOP-LEVEL-FORM 380) ; (TOP-LEVEL-FORM 381) ; SCREAMER:MAXV ; (TOP-LEVEL-FORM 381) ; (TOP-LEVEL-FORM 381) ; (TOP-LEVEL-FORM 382) ; SCREAMER::KNOWN?-=V-INTERNAL ; (TOP-LEVEL-FORM 382) ; (TOP-LEVEL-FORM 382) ; (TOP-LEVEL-FORM 383) ; SCREAMER::KNOWN?-=V ; (TOP-LEVEL-FORM 383) ; (TOP-LEVEL-FORM 383) ; (TOP-LEVEL-FORM 384) ; SCREAMER::KNOWN?-<V-INTERNAL ; (TOP-LEVEL-FORM 384) ; (TOP-LEVEL-FORM 384) ; (TOP-LEVEL-FORM 385) ; SCREAMER::KNOWN?-<V ; (TOP-LEVEL-FORM 385) ; (TOP-LEVEL-FORM 385) ; (TOP-LEVEL-FORM 386) ; SCREAMER::KNOWN?-<=V-INTERNAL ; (TOP-LEVEL-FORM 386) ; (TOP-LEVEL-FORM 386) ; (TOP-LEVEL-FORM 387) ; SCREAMER::KNOWN?-<=V ; (TOP-LEVEL-FORM 387) ; (TOP-LEVEL-FORM 387) ; (TOP-LEVEL-FORM 388) ; SCREAMER::KNOWN?->V-INTERNAL ; (TOP-LEVEL-FORM 388) ; (TOP-LEVEL-FORM 388) ; (TOP-LEVEL-FORM 389) ; SCREAMER::KNOWN?->V ; (TOP-LEVEL-FORM 389) ; (TOP-LEVEL-FORM 389) ; (TOP-LEVEL-FORM 390) ; SCREAMER::KNOWN?->=V-INTERNAL ; (TOP-LEVEL-FORM 390) ; (TOP-LEVEL-FORM 390) ; (TOP-LEVEL-FORM 391) ; SCREAMER::KNOWN?->=V ; (TOP-LEVEL-FORM 391) ; (TOP-LEVEL-FORM 391) ; (TOP-LEVEL-FORM 392) ; SCREAMER::KNOWN?-/=V-INTERNAL ; (TOP-LEVEL-FORM 392) ; (TOP-LEVEL-FORM 392) ; (TOP-LEVEL-FORM 393) ; SCREAMER::KNOWN?-/=V ; (TOP-LEVEL-FORM 393) ; (TOP-LEVEL-FORM 393) ; (TOP-LEVEL-FORM 394) ; SCREAMER::ASSERT!-=V-INTERNAL ; (TOP-LEVEL-FORM 394) ; (TOP-LEVEL-FORM 394) ; (TOP-LEVEL-FORM 395) ; SCREAMER::ASSERT!-=V ; (TOP-LEVEL-FORM 395) ; (TOP-LEVEL-FORM 395) ; (TOP-LEVEL-FORM 396) ; SCREAMER::ASSERT!-<V-INTERNAL ; (TOP-LEVEL-FORM 396) ; (TOP-LEVEL-FORM 396) ; (TOP-LEVEL-FORM 397) ; SCREAMER::ASSERT!-<V ; (TOP-LEVEL-FORM 397) ; (TOP-LEVEL-FORM 397) ; (TOP-LEVEL-FORM 398) ; SCREAMER::ASSERT!-<=V-INTERNAL ; (TOP-LEVEL-FORM 398) ; (TOP-LEVEL-FORM 398) ; (TOP-LEVEL-FORM 399) ; SCREAMER::ASSERT!-<=V ; (TOP-LEVEL-FORM 399) ; (TOP-LEVEL-FORM 399) ; (TOP-LEVEL-FORM 400) ; SCREAMER::ASSERT!->V-INTERNAL ; (TOP-LEVEL-FORM 400) ; (TOP-LEVEL-FORM 400) ; (TOP-LEVEL-FORM 401) ; SCREAMER::ASSERT!->V ; (TOP-LEVEL-FORM 401) ; (TOP-LEVEL-FORM 401) ; (TOP-LEVEL-FORM 402) ; SCREAMER::ASSERT!->=V-INTERNAL ; (TOP-LEVEL-FORM 402) ; (TOP-LEVEL-FORM 402) ; (TOP-LEVEL-FORM 403) ; SCREAMER::ASSERT!->=V ; (TOP-LEVEL-FORM 403) ; (TOP-LEVEL-FORM 403) ; (TOP-LEVEL-FORM 404) ; SCREAMER::ASSERT!-/=V-INTERNAL ; (TOP-LEVEL-FORM 404) ; (TOP-LEVEL-FORM 404) ; (TOP-LEVEL-FORM 405) ; SCREAMER::ASSERT!-/=V ; (TOP-LEVEL-FORM 405) ; (TOP-LEVEL-FORM 405) ; (TOP-LEVEL-FORM 406) ; SCREAMER::=V-INTERNAL ; (TOP-LEVEL-FORM 406) ; (TOP-LEVEL-FORM 406) ; (TOP-LEVEL-FORM 407) ; SCREAMER:=V ; (TOP-LEVEL-FORM 407) ; (TOP-LEVEL-FORM 407) ; (TOP-LEVEL-FORM 408) ; SCREAMER::<V-INTERNAL ; (TOP-LEVEL-FORM 408) ; (TOP-LEVEL-FORM 408) ; (TOP-LEVEL-FORM 409) ; SCREAMER:<V ; (TOP-LEVEL-FORM 409) ; (TOP-LEVEL-FORM 409) ; (TOP-LEVEL-FORM 410) ; SCREAMER::<=V-INTERNAL ; (TOP-LEVEL-FORM 410) ; (TOP-LEVEL-FORM 410) ; (TOP-LEVEL-FORM 411) ; SCREAMER:<=V ; (TOP-LEVEL-FORM 411) ; (TOP-LEVEL-FORM 411) ; (TOP-LEVEL-FORM 412) ; SCREAMER::>V-INTERNAL ; (TOP-LEVEL-FORM 412) ; (TOP-LEVEL-FORM 412) ; (TOP-LEVEL-FORM 413) ; SCREAMER:>V ; (TOP-LEVEL-FORM 413) ; (TOP-LEVEL-FORM 413) ; (TOP-LEVEL-FORM 414) ; SCREAMER::>=V-INTERNAL ; (TOP-LEVEL-FORM 414) ; (TOP-LEVEL-FORM 414) ; (TOP-LEVEL-FORM 415) ; SCREAMER:>=V ; (TOP-LEVEL-FORM 415) ; (TOP-LEVEL-FORM 415) ; (TOP-LEVEL-FORM 416) ; SCREAMER::/=V-INTERNAL ; (TOP-LEVEL-FORM 416) ; (TOP-LEVEL-FORM 416) ; (TOP-LEVEL-FORM 417) ; SCREAMER:/=V ; (TOP-LEVEL-FORM 417) ; (TOP-LEVEL-FORM 417) ; (TOP-LEVEL-FORM 418) ; SCREAMER::KNOWN?-==V2-VARIABLE ; (TOP-LEVEL-FORM 418) ; (TOP-LEVEL-FORM 418) ; (TOP-LEVEL-FORM 419) ; SCREAMER::KNOWN?-/==V2-VARIABLE ; (TOP-LEVEL-FORM 419) ; (TOP-LEVEL-FORM 419) ; (TOP-LEVEL-FORM 420) ; SCREAMER::KNOWN?-==V2-INTERNAL ; (TOP-LEVEL-FORM 420) ; (TOP-LEVEL-FORM 420) ; (TOP-LEVEL-FORM 421) ; SCREAMER::KNOWN?-/==V2-INTERNAL ; (TOP-LEVEL-FORM 421) ; (TOP-LEVEL-FORM 421) ; (TOP-LEVEL-FORM 422) ; SCREAMER::KNOWN?-==V2 ; (TOP-LEVEL-FORM 422) ; (TOP-LEVEL-FORM 422) ; (TOP-LEVEL-FORM 423) ; SCREAMER::KNOWN?-/==V2 ; (TOP-LEVEL-FORM 423) ; (TOP-LEVEL-FORM 423) ; (TOP-LEVEL-FORM 424) ; SCREAMER::KNOWN?-==V-INTERNAL ; (TOP-LEVEL-FORM 424) ; (TOP-LEVEL-FORM 424) ; (TOP-LEVEL-FORM 425) ; SCREAMER::KNOWN?-==V ; (TOP-LEVEL-FORM 425) ; (TOP-LEVEL-FORM 425) ; (TOP-LEVEL-FORM 426) ; SCREAMER::KNOWN?-/==V-INTERNAL ; (TOP-LEVEL-FORM 426) ; (TOP-LEVEL-FORM 426) ; (TOP-LEVEL-FORM 427) ; SCREAMER::KNOWN?-/==V ; (TOP-LEVEL-FORM 427) ; (TOP-LEVEL-FORM 427) ; (TOP-LEVEL-FORM 428) ; SCREAMER::==-RULE ; (TOP-LEVEL-FORM 428) ; (TOP-LEVEL-FORM 428) ; (TOP-LEVEL-FORM 429) ; SCREAMER::/==-RULE ; (TOP-LEVEL-FORM 429) ; (TOP-LEVEL-FORM 429) ; (TOP-LEVEL-FORM 430) ; SCREAMER::ASSERT!-==V2 ; (TOP-LEVEL-FORM 430) ; (TOP-LEVEL-FORM 430) ; (TOP-LEVEL-FORM 431) ; SCREAMER::ASSERT!-==V-INTERNAL ; (TOP-LEVEL-FORM 431) ; (TOP-LEVEL-FORM 431) ; (TOP-LEVEL-FORM 432) ; SCREAMER::ASSERT!-==V ; (TOP-LEVEL-FORM 432) ; (TOP-LEVEL-FORM 432) ; (TOP-LEVEL-FORM 433) ; SCREAMER::ASSERT!-/==V2 ; (TOP-LEVEL-FORM 433) ; (TOP-LEVEL-FORM 433) ; (TOP-LEVEL-FORM 434) ; SCREAMER::ASSERT!-/==V-INTERNAL ; (TOP-LEVEL-FORM 434) ; (TOP-LEVEL-FORM 434) ; (TOP-LEVEL-FORM 435) ; SCREAMER::ASSERT!-/==V ; (TOP-LEVEL-FORM 435) ; (TOP-LEVEL-FORM 435) ; (TOP-LEVEL-FORM 436) ; SCREAMER::==V2 ; (TOP-LEVEL-FORM 436) ; (TOP-LEVEL-FORM 436) ; (TOP-LEVEL-FORM 437) ; SCREAMER::/==V2 ; (TOP-LEVEL-FORM 437) ; (TOP-LEVEL-FORM 437) ; (TOP-LEVEL-FORM 438) ; SCREAMER::==V-INTERNAL ; (TOP-LEVEL-FORM 438) ; (TOP-LEVEL-FORM 438) ; (TOP-LEVEL-FORM 439) ; SCREAMER:==V ; (TOP-LEVEL-FORM 439) ; (TOP-LEVEL-FORM 439) ; (TOP-LEVEL-FORM 440) ; SCREAMER::/==V-INTERNAL ; (TOP-LEVEL-FORM 440) ; (TOP-LEVEL-FORM 440) ; (TOP-LEVEL-FORM 441) ; SCREAMER:/==V ; (TOP-LEVEL-FORM 441) ; (TOP-LEVEL-FORM 441) ; (TOP-LEVEL-FORM 442) ; (TOP-LEVEL-FORM 442) ; (TOP-LEVEL-FORM 443) ; (TOP-LEVEL-FORM 443)

** ++++ Error between functions: Cannot (currently) handle the special form MACROLET**

; (TOP-LEVEL-FORM 445) ; SCREAMER:ALL-DIFFERENTV ; (TOP-LEVEL-FORM 445) ; (TOP-LEVEL-FORM 445) ; (TOP-LEVEL-FORM 446) ; SCREAMER::KNOWN?-EQUALV ; (TOP-LEVEL-FORM 446) ; (TOP-LEVEL-FORM 446) ; (TOP-LEVEL-FORM 447) ; SCREAMER::ASSERT!-EQUALV ; (TOP-LEVEL-FORM 447) ; (TOP-LEVEL-FORM 447) ; (TOP-LEVEL-FORM 448) ; SCREAMER::KNOWN?-NOTV-EQUALV ; (TOP-LEVEL-FORM 448) ; (TOP-LEVEL-FORM 448) ; (TOP-LEVEL-FORM 449) ; SCREAMER::ASSERT!-NOTV-EQUALV ; (TOP-LEVEL-FORM 449) ; (TOP-LEVEL-FORM 449) ; (TOP-LEVEL-FORM 450) ; SCREAMER:EQUALV ; (TOP-LEVEL-FORM 450) ; (TOP-LEVEL-FORM 450) ; (TOP-LEVEL-FORM 451) ; SCREAMER::KNOWN?-TRUE ; (TOP-LEVEL-FORM 451) ; (TOP-LEVEL-FORM 451) ; (TOP-LEVEL-FORM 452) ; SCREAMER::KNOWN?-FALSE ; (TOP-LEVEL-FORM 452) ; (TOP-LEVEL-FORM 452) ; SCREAMER::TRANSFORM-KNOWN? ;;;*** Warning in TRANSFORM-KNOWN?: The definition of TRANSFORM-KNOWN? is already compiled. ; SCREAMER:KNOWN? ; (TOP-LEVEL-FORM 455) ; SCREAMER::ASSERT!-TRUE ; (TOP-LEVEL-FORM 455) ; (TOP-LEVEL-FORM 455) ; (TOP-LEVEL-FORM 456) ; SCREAMER::ASSERT!-FALSE ; (TOP-LEVEL-FORM 456) ; (TOP-LEVEL-FORM 456) ; SCREAMER::TRANSFORM-ASSERT! ;;;*** Warning in TRANSFORM-ASSERT!: The definition of TRANSFORM-ASSERT! is already compiled. ; SCREAMER:ASSERT! ; SCREAMER::TRANSFORM-DECIDE ;;;*** Warning in TRANSFORM-DECIDE: The definition of TRANSFORM-DECIDE is already compiled. ; SCREAMER:DECIDE ; (TOP-LEVEL-FORM 461) ; SCREAMER:A-BOOLEANV ; (TOP-LEVEL-FORM 461) ; (TOP-LEVEL-FORM 461) ; (TOP-LEVEL-FORM 462) ; SCREAMER:AN-INTEGERV ; (TOP-LEVEL-FORM 462) ; (TOP-LEVEL-FORM 462) ; (TOP-LEVEL-FORM 463) ; SCREAMER:AN-INTEGER-ABOVEV ; (TOP-LEVEL-FORM 463) ; (TOP-LEVEL-FORM 463) ; (TOP-LEVEL-FORM 464) ; SCREAMER:AN-INTEGER-BELOWV ; (TOP-LEVEL-FORM 464) ; (TOP-LEVEL-FORM 464) ; (TOP-LEVEL-FORM 465) ; SCREAMER:AN-INTEGER-BETWEENV ; (TOP-LEVEL-FORM 465) ; (TOP-LEVEL-FORM 465) ; (TOP-LEVEL-FORM 466) ; SCREAMER:A-REALV ; (TOP-LEVEL-FORM 466) ; (TOP-LEVEL-FORM 466) ; (TOP-LEVEL-FORM 467) ; SCREAMER:A-REAL-ABOVEV ; (TOP-LEVEL-FORM 467) ; (TOP-LEVEL-FORM 467) ; (TOP-LEVEL-FORM 468) ; SCREAMER:A-REAL-BELOWV ; (TOP-LEVEL-FORM 468) ; (TOP-LEVEL-FORM 468) ; (TOP-LEVEL-FORM 469) ; SCREAMER:A-REAL-BETWEENV ; (TOP-LEVEL-FORM 469) ; (TOP-LEVEL-FORM 469) ; (TOP-LEVEL-FORM 470) ; SCREAMER:A-NUMBERV ; (TOP-LEVEL-FORM 470) ; (TOP-LEVEL-FORM 470) ; (TOP-LEVEL-FORM 471) ; SCREAMER:A-MEMBER-OFV ; (TOP-LEVEL-FORM 471) ; (TOP-LEVEL-FORM 471) ; (TOP-LEVEL-FORM 472) ; SCREAMER::VARIABLES-IN ; (TOP-LEVEL-FORM 472) ; (TOP-LEVEL-FORM 472) ; (TOP-LEVEL-FORM 473) ; SCREAMER:DIVIDE-AND-CONQUER-FORCE ; SCREAMER::DIVIDE-AND-CONQUER-FORCE-NONDETERMINISTIC ; (TOP-LEVEL-FORM 473) ; (TOP-LEVEL-FORM 473) ; (TOP-LEVEL-FORM 474) ; SCREAMER:DOMAIN-SIZE ; (TOP-LEVEL-FORM 474) ; (TOP-LEVEL-FORM 474) ; (TOP-LEVEL-FORM 475) ; SCREAMER:RANGE-SIZE ; (TOP-LEVEL-FORM 475) ; (TOP-LEVEL-FORM 475) ; (TOP-LEVEL-FORM 476) ; SCREAMER::CORRUPTED? ; (TOP-LEVEL-FORM 476) ; (TOP-LEVEL-FORM 476) ; (TOP-LEVEL-FORM 477) ; SCREAMER::FIND-BEST ; (TOP-LEVEL-FORM 477) ; (TOP-LEVEL-FORM 477) ; (TOP-LEVEL-FORM 478) ; SCREAMER::REORDER-INTERNAL ; SCREAMER::REORDER-INTERNAL-NONDETERMINISTIC ; (TOP-LEVEL-FORM 478) ; (TOP-LEVEL-FORM 478) ; (TOP-LEVEL-FORM 479) ; SCREAMER:REORDER ; (TOP-LEVEL-FORM 479) ; (TOP-LEVEL-FORM 479) ; SCREAMER:BEST-VALUE ; (TOP-LEVEL-FORM 481) ; SCREAMER::TEMPLATE-INTERNAL ; (TOP-LEVEL-FORM 481) ; (TOP-LEVEL-FORM 481) ; (TOP-LEVEL-FORM 482) ; SCREAMER:TEMPLATE ; (TOP-LEVEL-FORM 482) ; (TOP-LEVEL-FORM 482) ; (TOP-LEVEL-FORM 483) ; (TOP-LEVEL-FORM 484) ;; Processing Cross Reference Information

The following function is undefined: SCREAMER:ASSERT! which is referenced by SCREAMER::ASSERT!-/==V2 ; *** 1 error detected, no fasl file produced. ;;; Compilation finished with 0 warnings, 1 error, 0 notes.

---- Done ----

PHRaposo avatar Apr 14 '24 12:04 PHRaposo

Thanks for the logs! It looks like LW also has some bogosity (see the comment at the top of the latest commit ;) ), so it's doing that reference check in an environment that isn't updated for ASSERT! having been defined as a macro in the same file.

I've made an edit to more explicitly specify that ASSERT! gets defined before ASSERT!-/==V2, let me know if it successfully fixes the above? If not we can probably fix it with a bit of code reordering, or worst-case make a mock-definition using the cl:defmacro form to keep LW happy. But that both shouldn't be necessary if LW behaves correctly, and is a bit more of a time investment than the above change.

~~I have a candidate for the macrolet issue as well, but I'll have to look into it a bit more.~~

swapneils avatar Apr 15 '24 01:04 swapneils

Ok, added a potential fix for the macrolet issue too, seems like the LW compiler's optimizations (probably of the loop form in all-different, but I updated ==//== to be safe) were the ones introducing the disallowed form. None of those functions need to be in Screamer's registry, so just moved it out to normal Common Lisp.

Could you try out this and the previous fix?

swapneils avatar Apr 15 '24 02:04 swapneils

Hi @swapneils,

I've tested again and now all errors are gone. There is only the same warning about the SCREAMER::ASSERT! definition in SCREAMER::ASSERT!-/==V2.

As a workaround, I've moved all the code, from "known?-==v2-variable" to "all-differentv", to after the assert! definition and LW does not complain anymore.

I believe now I can try to understand what you are doing. Could you provide some examples of using the new probabilistic features (either-prob, all-values-prob, sample, etc.) ?

P.S.: I will try to run it inside OpenMusic as well and see if it works.

Many thanks!

PHRaposo avatar Apr 15 '24 11:04 PHRaposo