On Wed, Feb 09, 2022 at 09:46:01PM +0100, Alexander Burger wrote:
> To take an example a bit simpler than the factorial function, you could start
> with addition as:
> 
>    (be + (@A @B @C)
>       (^ @A (- @C @B)) )
> ...

Could not resist. I elaborated a little :)

If we define '+' as

   # (+ 3 4 7)
   # (+ 3 4 @X)
   (be + (@A @B @C)
      (^ @C (+ @A @B))
      T )

   # (+ 3 @X 7)
   (be + (@A @B @C)
      (^ @B (- @C @A))
      T )

   # (+ @X 4 7)
   (be + (@A @B @C)
      (^ @A (- @C @B))
      T )

   # (+ @X @Y 7)
   (be + (@A 0 @A))

   (be + (@A @B @C)
      (^ @Z (dec @C))
      (+ @A @Y @Z)
      (^ @B (inc @Y)) )

then we can use it as

   : (? (+ 3 4 7))
   -> T

   : (? (+ 3 4 @X))
    @X=7

   : (? (+ 3 @X 7))
    @X=4

   : (? (+ @X 4 7))
    @X=3

   : (? (+ @X @Y 7))
    @X=7 @Y=0
    @X=6 @Y=1
    @X=5 @Y=2
    @X=4 @Y=3
    @X=3 @Y=4
    @X=2 @Y=5
    @X=1 @Y=6
    @X=0 @Y=7
    @X=-1 @Y=8
    @X=-2 @Y=9
    @X=-3 @Y=10
    @X=-4 @Y=11
    @X=-5 @Y=12
    ...

☺/ A!ex

-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe

Reply via email to