[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 18/30: Remove thunk?, integer? simple predicate inferrer
From: |
Andy Wingo |
Subject: |
[Guile-commits] 18/30: Remove thunk?, integer? simple predicate inferrers |
Date: |
Fri, 24 Nov 2017 09:24:22 -0500 (EST) |
wingo pushed a commit to branch master
in repository guile.
commit 72c31075394b6b6f365c7a78964dc8feeb068ade
Author: Andy Wingo <address@hidden>
Date: Wed Nov 22 16:55:27 2017 +0100
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 21181b9..6aec93b 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))
- [Guile-commits] branch master updated (0951551 -> 7d71d9b), Andy Wingo, 2017/11/24
- [Guile-commits] 01/30: ursh, ursh/immediate, etc only residualized if count < 64, Andy Wingo, 2017/11/24
- [Guile-commits] 05/30: Fix s64->scm reducer, Andy Wingo, 2017/11/24
- [Guile-commits] 02/30: Revert specialization of fixnum phi variables, Andy Wingo, 2017/11/24
- [Guile-commits] 09/30: Fix logand type inference, Andy Wingo, 2017/11/24
- [Guile-commits] 08/30: Revert "Slot allocation allows s64/u64 representations of same var", Andy Wingo, 2017/11/24
- [Guile-commits] 07/30: Fix u64/s64 typesafety around fixnum (un)tagging, Andy Wingo, 2017/11/24
- [Guile-commits] 14/30: Fix type check elision for branches, Andy Wingo, 2017/11/24
- [Guile-commits] 06/30: Separate u64 and s64 type inferrers now that ops are monomorphic, Andy Wingo, 2017/11/24
- [Guile-commits] 18/30: Remove thunk?, integer? simple predicate inferrers,
Andy Wingo <=
- [Guile-commits] 17/30: Add support for bignum? CPS primitive., Andy Wingo, 2017/11/24
- [Guile-commits] 22/30: Fix inference of generic < on NaN values, Andy Wingo, 2017/11/24
- [Guile-commits] 20/30: Add &exact-number helper definition, Andy Wingo, 2017/11/24
- [Guile-commits] 03/30: Better support for unboxed signed arithmetic, Andy Wingo, 2017/11/24
- [Guile-commits] 30/30: Optimize check-urange in assembler.scm, Andy Wingo, 2017/11/24
- [Guile-commits] 27/30: Add integer devirtualization pass., Andy Wingo, 2017/11/24
- [Guile-commits] 12/30: Remove effects-analysis exports that were undefined, Andy Wingo, 2017/11/24
- [Guile-commits] 11/30: Specialize fixnum and s64 phis, Andy Wingo, 2017/11/24
- [Guile-commits] 19/30: Add exact-integer? as interesting Tree-IL effect-free primitive, Andy Wingo, 2017/11/24
- [Guile-commits] 24/30: Declare bignum? as effect-free, Andy Wingo, 2017/11/24