~ chicken-core (chicken-5) b8f2531c3805e1109bf50c6b0de7ff1f00844cfc
commit b8f2531c3805e1109bf50c6b0de7ff1f00844cfc
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Sat Feb 5 00:27:29 2011 +0100
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Sat Feb 5 00:27:29 2011 +0100
added a few specialiations; tests
diff --git a/types.db b/types.db
index 9d791d46..4379b1de 100644
--- a/types.db
+++ b/types.db
@@ -27,8 +27,10 @@
;; scheme
(not (procedure not (*) boolean)
- ((not boolean) #t))
-(boolean? (procedure boolean (*) boolean))
+ (((not boolean)) '#t))
+(boolean? (procedure boolean? (*) boolean)
+ ((boolean) '#t)
+ (((not boolean)) '#f))
(eq? (procedure eq? (* *) boolean))
(eqv? (procedure eqv? (* *) boolean))
(equal? (procedure equal? (* *) boolean))
@@ -111,15 +113,20 @@
(/ (procedure / (number #!rest number) number)
((float float) (fp/ #(1) #(2))))
(= (procedure = (#!rest number) boolean)
+ ((fixnum fixnum) (eq? #(1) #(2)))
((float float) (fp= #(1) #(2))))
(> (procedure > (#!rest number) boolean)
+ ((fixnum fixnum) (fx> #(1) #(2)))
((float float) (fp> #(1) #(2))))
(< (procedure < (#!rest number) boolean)
+ ((fixnum fixnum) (fx< #(1) #(2)))
((float float) (fp< #(1) #(2))))
(>= (procedure >= (#!rest number) boolean)
+ ((fixnum fixnum) (fx>= #(1) #(2)))
((float float) (fp>= #(1) #(2))))
(<= (procedure <= (#!rest number) boolean)
- ((float float) (fp<0 #(1) #(2))))
+ ((fixnum fixnum) (fx<= #(1) #(2)))
+ ((float float) (fp<= #(1) #(2))))
(quotient (procedure quotient (number number) number))
(remainder (procedure remainder (number number) number))
(modulo (procedure modulo (number number) number))
Trap