From 72c31075394b6b6f365c7a78964dc8feeb068ade Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Wed, 22 Nov 2017 16:55:27 +0100 Subject: [PATCH] Remove thunk?, integer? simple predicate inferrers * module/language/cps/types.scm (thunk?, integer?): Remove predicates; they were inferring incorrectly. I don't think they were being used though (these primcalls don't reach here). --- module/language/cps/types.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/module/language/cps/types.scm b/module/language/cps/types.scm index 21181b96f..6aec93b5a 100644 --- a/module/language/cps/types.scm +++ b/module/language/cps/types.scm @@ -657,7 +657,6 @@ minimum, and maximum." (define-simple-predicate-inferrer number? &number) (define-simple-predicate-inferrer char? &char) (define-simple-predicate-inferrer procedure? &procedure) -(define-simple-predicate-inferrer thunk? &procedure) (define-predicate-inferrer (eq? a b true?) ;; We can only propagate information down the true leg. @@ -1350,7 +1349,9 @@ minimum, and maximum." (define-simple-type-predicate-inferrer complex? &number) (define-simple-type-predicate-inferrer real? &real) (define-simple-type-predicate-inferrer rational? (logior &exact-integer &fraction)) -(define-simple-type-predicate-inferrer integer? (logior &exact-integer &flonum)) +;; FIXME: If it's a flonum it may be an integer, but if it's not an +;; integer it also may be still be a flonum. +;; (define-simple-type-predicate-inferrer integer? (logior &exact-integer &flonum)) (define-simple-type-predicate-inferrer exact-integer? &exact-integer) (define-simple-type-checker (exact? &number))