aboutsummaryrefslogtreecommitdiff
path: root/src/interp/slam.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/slam.boot')
-rw-r--r--src/interp/slam.boot8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/interp/slam.boot b/src/interp/slam.boot
index df0384b7..f8c0e4b1 100644
--- a/src/interp/slam.boot
+++ b/src/interp/slam.boot
@@ -50,8 +50,6 @@ isRecurrenceRelation(op,body,minivectorName) ==
-- body should have a conditional expression which
-- gives k boundary values, one general term plus possibly an
-- "out of domain" condition
- --pcl is [:.,[ ''T,:mess]] and not (CONTAINED('throwMessage,mess) or
- -- CONTAINED('throwKeyedMsg,mess)) => nil
pcl := [x for x in pcl | not (x is ['%otherwise,:mess] and
(CONTAINED('throwMessage,mess) or
CONTAINED('throwKeyedMsg,mess)))]
@@ -86,7 +84,7 @@ isRecurrenceRelation(op,body,minivectorName) ==
n:= k+minIndex
--Check general predicate
predOk :=
- generalPred = '%true => true
+ generalPred = '%otherwise => true
generalPred is ['SPADCALL,m,=sharpArg,
["ELT",["%dynval",=MKQ minivectorName],slot]]
and sameObject?(lesspSlot,$minivector.slot)=> m+1
@@ -95,7 +93,7 @@ isRecurrenceRelation(op,body,minivectorName) ==
["ELT",["%dynval",=MKQ minivectorName],notSlot]]
and sameObject?(lesspSlot,$minivector.slot)
and sameObject?(notpSlot,$minivector.notSlot) => m
- generalPred is ['NOT,['SPADCALL,=sharpArg,m,
+ generalPred is ['%not,['SPADCALL,=sharpArg,m,
["ELT",["%dynval",=MKQ minivectorName], =lesspSlot]]]
and sameObject?(lesspSlot,$minivector.slot) => m
return nil
@@ -108,7 +106,7 @@ isRecurrenceRelation(op,body,minivectorName) ==
diffSlot := or/[i for i in 0.. for x in $minivector | sameObject?(x,diffCell)]
or return nil
--Check general term for references to just the k previous values
- sharpPosition := readInteger subString(sharpArg,1)
+ sharpPosition := readInteger subString(symbolName sharpArg,1)
al:= mkDiffAssoc(op,generalTerm,k,sharpPosition,sharpArg,diffSlot,minivectorName)
null al => false
"$failed" in al => false