~ 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