~ chicken-core (chicken-5) 72cb4bcc121220329719756ff09815502ce95d86
commit 72cb4bcc121220329719756ff09815502ce95d86
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Wed May 11 05:21:39 2011 -0400
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Wed May 11 05:21:39 2011 -0400
if a variable has a value or local-value, then we don't need to check for non-visibility
diff --git a/scrutinizer.scm b/scrutinizer.scm
index 31e5d87e..97e81d5b 100755
--- a/scrutinizer.scm
+++ b/scrutinizer.scm
@@ -602,6 +602,10 @@
r1 r2))
(else '*)))))
((let)
+ ;;XXX it would be nice to have some sort of alias-information:
+ ;; binding a variable to another variable could propagate
+ ;; type-information from the former to the latter.
+ ;;
;; before CPS-conversion, `let'-nodes may have multiple bindings
(let loop ((vars params) (body subs) (e2 '()))
(if (null? vars)
@@ -679,7 +683,6 @@
(when (and (not type)
(not b)
(not (eq? '* rt))
- (not (variable-visible? var)) ;XXX needed?
(not (get db var 'unknown)))
(and-let* ((val (or (get db var 'value)
(get db var 'local-value))))
Trap