X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=lambda_library.mdwn;h=bdd016875c302e314ae06f632183fd62937c7f19;hp=5623b9fa219b4cf9ef0fca41b8fe098768b803df;hb=c675006fcaa7ef7f096b0cf8e73e28ecb79aa1a9;hpb=4cea4f69242f3a229292186c8fa652942f31f8b8 diff --git a/lambda_library.mdwn b/lambda_library.mdwn index 5623b9fa..bdd01687 100644 --- a/lambda_library.mdwn +++ b/lambda_library.mdwn @@ -236,6 +236,11 @@ and all sorts of other places. Others of them are our own handiwork. let Theta = (\u f. f (u u f)) (\u f. f (u u f)) in + ; now you can search for primes, do encryption :-) + let gcd = Y (\gcd m n. iszero n m (gcd n (mod m n))) in + let lcm = \m n. or (iszero m) (iszero n) 0 (mul (div m (gcd m n)) n) in + + ; length for version 1 lists let length = Y (\self lst. isempty lst 0 (succ (self (tail lst)))) in @@ -314,7 +319,7 @@ let list_equal = ; (might_for_all_i_know_still_be_equal?, tail_of_reversed_right) ; when left is empty, the lists are equal if right is empty (make_pair - (not (isempty right)) + true ; for all we know so far, they might still be equal (reverse right) ) ; when fold is finished, check sofar-pair