commit a74e80895b736f9cd0806cfe4707511829f41a43
parent 70155e880d583a4494b6fb9c31f794e3684b321e
Author: Ed van Bruggen <edvb@uw.edu>
Date:   Wed, 26 Jun 2019 01:53:13 -0700
Standard boolean, zero, even, and odd tests
Diffstat:
1 file changed, 4 insertions(+), 0 deletions(-)
diff --git a/tibs/lib.tsp b/tibs/lib.tsp
@@ -39,6 +39,7 @@
 (define (primitive? x) (= (type x) "primitive"))
 (define (function? x)  (= (type x) "function"))
 (define (pair? x)      (= (type x) "pair"))
+(define (boolean? x)   (or (= x t) (nil? x)))
 (define (rational? x)  (or (integer? x) (ratio? x)))
 (define (number? x)    (or (rational? x) (decimal? x)))
 
@@ -109,6 +110,9 @@
 
 (define (positive? x) (> x 0))
 (define (negative? x) (< x 0))
+(define (zero? x) (= x 0))
+(define (even? x) (= (mod x 2) 0))
+(define (odd? x)  (= (mod x 2) 1))
 
 (define (! n)
   (if (= n 1)