~ chicken-core (chicken-5) d8be3dcb2e3df86f9b677cbf5c525dded358d86b
commit d8be3dcb2e3df86f9b677cbf5c525dded358d86b
Author: Peter Bex <peter.bex@xs4all.nl>
AuthorDate: Sat Mar 17 20:54:40 2012 +0100
Commit: Christian Kellermann <ckeen@pestilenz.org>
CommitDate: Sun Mar 18 09:21:55 2012 +0100
Types database fix: for any x that's not #f, (not x) => #f so for non-booleans we can always just rewrite to #f
Signed-off-by: Christian Kellermann <ckeen@pestilenz.org>
diff --git a/tests/library-tests.scm b/tests/library-tests.scm
index 79a73699..b13b84f1 100644
--- a/tests/library-tests.scm
+++ b/tests/library-tests.scm
@@ -5,6 +5,7 @@
;; numbers
+(assert (not (not 3)))
(assert (= -4.0 (round -4.3)))
(assert (= -4.0 (round -4.5))) ; R5RS
(assert (= 4.0 (round 3.5)))
diff --git a/types.db b/types.db
index 465ba2bc..be902250 100644
--- a/types.db
+++ b/types.db
@@ -51,7 +51,7 @@
;; scheme
(not (#(procedure #:pure) not (*) boolean)
- (((not boolean)) (let ((#(tmp) #(1))) '#t)))
+ (((not boolean)) (let ((#(tmp) #(1))) '#f)))
(boolean? (#(procedure #:pure #:predicate boolean) boolean? (*) boolean))
Trap