tweaked arithmetic
[lambda.git] / arithmetic.mdwn
index fc7249f..d272487 100644 (file)
@@ -39,7 +39,7 @@ Here are a bunch of pre-tested operations for the untyped lambda calculus. In so
        let head = \lst. lst (\h sofar. h) junk  in
        let tail = \lst. (\shift lst. lst shift (make_pair empty junk) get_2nd)
                                ; where shift is
-                               (\h p. p (\t y. make_pair (make-list h t) t))  in
+                               (\h p. p (\t y. make_pair (make_list h t) t))  in
        let length = \lst. lst (\h sofar. succ sofar) 0  in
        let map = \f lst. lst (\h sofar. make_list (f h) sofar) empty  in
        let filter = \f lst. lst (\h sofar. f h (make_list h sofar) sofar) empty  in ; or
@@ -198,10 +198,10 @@ Here are a bunch of pre-tested operations for the untyped lambda calculus. In so
                ))  in
 
 
-       ; Curry's fixed point combinator
+       ; Rosenbloom's fixed point combinator
        let Y = \f. (\h. f (h h)) (\h. f (h h)) in
        ; Turing's fixed point combinator
-       let Z = (\u f. f (u u f)) (\u f. f (u u f))  in
+       let Theta = (\u f. f (u u f)) (\u f. f (u u f))  in
 
 
        ; length for version 1 lists
@@ -218,7 +218,7 @@ Here are a bunch of pre-tested operations for the untyped lambda calculus. In so
 
 
 
-       fact Z 3  ; returns 6
+       fact Theta 3  ; returns 6
 
 
 <!--
@@ -239,3 +239,23 @@ Here are a bunch of pre-tested operations for the untyped lambda calculus. In so
                        ; and consume is
                        (\p. p get_2nd p)  in ; or
 -->
+
+<!--
+       gcd
+       pow_mod
+
+
+       show Oleg's definition of integers:
+               church_to_int = \n sign. n
+               church_to_negint = \n sign s z. sign (n s z)
+
+               ; int_to_church
+               abs = \int. int I
+
+               sign_case = \int ifpos ifzero ifneg. int (K ifneg) (K ifpos) ifzero
+
+               negate_int = \int. sign_case int (church_to_negint (abs int)) zero (church_to_int (abs int))
+
+       for more, see http://okmij.org/ftp/Computation/lambda-arithm-neg.scm
+
+-->