~ chicken-core (chicken-5) dc18241562fbef3d29f900ebd497e30e7cebf0f3
commit dc18241562fbef3d29f900ebd497e30e7cebf0f3 Author: felix <felix@call-with-current-continuation.org> AuthorDate: Sat Apr 9 14:38:56 2011 +0200 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Sat Apr 9 14:38:56 2011 +0200 match-spec.: the endless fiddling diff --git a/scrutinizer.scm b/scrutinizer.scm index 121cb334..39c42db6 100755 --- a/scrutinizer.scm +++ b/scrutinizer.scm @@ -656,9 +656,8 @@ (cons (cond ((eq? (cdr a) '*) '*) (else - (debugging - 'x "adjusting procedure argument type" - (car vars) (cdr a)) + (d "adjusting procedure argument type for `~a' to: ~a" + (car vars) (cdr a)) (cdr a) )) (loop (sub1 argc) (cdr vars) (cdr args))))) (else @@ -897,7 +896,8 @@ ((procedure) (bomb "match-specialization: invalid complex procedure type" st)) (else (equal? st t)))) ((eq? st '*)) - ((eq? st 'list) (match '(or pair null) t)) + ;; "list" different from "number": a pair is not necessarily a list: + ((eq? st 'list) (eq? t 'list)) ((eq? st 'number) (match '(or fixnum float) t)) ((pair? t) (case (car t)Trap