On 9/13/08, Oliver Kullmann <O.Kullmann at swansea.ac.uk> wrote:
> batching /home/csoliver/SAT-Algorithmen/OKplatform/Unless.mac
> (%i2)
>
> *** - CAR: $FOUND is not a list
> <11/260> #<SYSTEM-FUNCTION CAR>
> <12/253> #<COMPILED-FUNCTION STRMDOIN>
> <13/244> #<COMPILED-FUNCTION MSZ-MDOIN>
> <14/227> #<COMPILED-FUNCTION MSIZE>
> <15/215> #<COMPILED-FUNCTION MSZ-MDEF>
> <16/198> #<COMPILED-FUNCTION MSIZE>
> <17/189> #<COMPILED-FUNCTION LINEAR-DISPLA>
> <18/184> #<COMPILED-FUNCTION DISPLA>
Terrific -- looks like it is a bug in the 1-d display.
I can trigger the bug by display2d:false; batch("Unless.mac");
consistently. (I guess you have display2d:false somewhere;
otherwise the 1-d display code is not executed.)
Another way to trigger it is:
fun(found) := for x in [1, 2, 3] unless found do print(x);
grind(%);
STRMDOIN assumes the unless/while condition is a nonatomic
expression (e.g. a < b) but "found" is an atom.
Should be easy to fix.
Robert Dodier