I'm having trouble figuring out how to use range in a simple pilog example.

I can use member:

(be add1-or-double (@X @Num)
  (member @X (1 2 3 4))
  (@Ans + 1 (-> @X))
  (@Ans2 * 2 (-> @X))
  (or ((equal @Num @Ans)) ((equal @Num @Ans2))))

(? (add1-or-double @X 4))
@X=2 @X=3:



If I try this:

(be add1-or-double (@X @Num)
  # (member @X (1 2 3 4))
  (@X range 1 100)
  (@Ans + 1 (-> @X))
  (@Ans2 * 2 (-> @X))
  (or ((equal @Num @Ans)) ((equal @Num @Ans2))))

(? (add1-or-double @X 100))
 (1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100) --
Number expected

I've tried using (car (-> @X)) and that didn't work either...

I suspect I am approaching this wrong. I will gladly accept feedback that
points to a different direction to take

Thanks!
Joe

Reply via email to