~ chicken-core (chicken-5) 2d0040f23facb0eeca5dc3bfc12c143b0c600557
commit 2d0040f23facb0eeca5dc3bfc12c143b0c600557 Author: Evan Hanson <evhan@foldling.org> AuthorDate: Sun Nov 1 11:12:41 2015 +1300 Commit: Evan Hanson <evhan@foldling.org> CommitDate: Sun Nov 1 11:16:32 2015 +1300 Rename "exact" param to "all" in over-all-instantiations "all" is a better description of what the flag does now that there's no "exact" mode for type matching (see 14f6f55). diff --git a/scrutinizer.scm b/scrutinizer.scm index 8b694d4d..81c2f823 100644 --- a/scrutinizer.scm +++ b/scrutinizer.scm @@ -2288,8 +2288,10 @@ ;;; perform check over all typevar instantiations +; +; If "all" is #t all types in tlist must match, if #f then one or more. -(define (over-all-instantiations tlist typeenv exact process) +(define (over-all-instantiations tlist typeenv all process) (let ((insts '()) (anyinst #f) (trail0 trail)) @@ -2321,14 +2323,14 @@ (lambda (inst) (cond ((assq var inst) => cdr) ;;XXX is the following correct in all cases? - (exact '*) + (all '*) (else #f))) insts))) vars))) (ddd " collected: ~s" all) all)) - (ddd " over-all-instantiations: ~s exact=~a" tlist exact) + (ddd " over-all-instantiations: ~s all: ~a" tlist all) ;; process all tlist elements (let loop ((ts (delete-duplicates tlist eq?)) (ok #f)) @@ -2345,7 +2347,7 @@ ((process (car ts)) (restore) (loop (cdr ts) #t)) - (exact + (all (restore) #f) (elseTrap