Added boolean=?

This commit is contained in:
Justin Ethier 2015-03-26 13:26:35 -04:00
parent bc151ed781
commit f158326c9e

View file

@ -163,16 +163,20 @@
(let ((kth (list-tail lst k))) (let ((kth (list-tail lst k)))
(set-car! kth obj))) (set-car! kth obj)))
(define (reverse lst) (foldl cons '() lst)) (define (reverse lst) (foldl cons '() lst))
(define (boolean=? b1 b2 . bs)
(Cyc-obj=? boolean? b1 (cons b2 bs)))
(define (symbol=? sym1 sym2 . syms) (define (symbol=? sym1 sym2 . syms)
(Cyc-obj=? symbol? sym1 (cons sym2 syms)))
(define (Cyc-obj=? type? obj objs)
(and (and
(eq? sym1 sym2) (type? obj)
(call/cc (call/cc
(lambda (return) (lambda (return)
(for-each (for-each
(lambda (s) (lambda (o)
(if (not (eq? s sym1)) (if (not (eq? o obj))
(return #f))) (return #f)))
syms) objs)
#t)))) #t))))
(define (error msg . args) (define (error msg . args)
(raise (cons msg args))) (raise (cons msg args)))