diff --git a/collects/typed-scheme/tc-setup.rkt b/collects/typed-scheme/tc-setup.rkt index 04f05fdb09..0fc8b3013d 100644 --- a/collects/typed-scheme/tc-setup.rkt +++ b/collects/typed-scheme/tc-setup.rkt @@ -57,7 +57,8 @@ (do-time "Local Expand Done") (parameterize ([mutated-vars (find-mutated-vars fully-expanded-stx)] [orig-module-stx (or (orig-module-stx) orig-stx)] - [expanded-module-stx fully-expanded-stx]) + [expanded-module-stx fully-expanded-stx] + [debugging? #f]) (let ([result (checker fully-expanded-stx)]) (do-time "Typechecking Done") . body))))))) diff --git a/collects/typed-scheme/utils/utils.rkt b/collects/typed-scheme/utils/utils.rkt index 47712145bf..2ac08d1f8f 100644 --- a/collects/typed-scheme/utils/utils.rkt +++ b/collects/typed-scheme/utils/utils.rkt @@ -7,11 +7,11 @@ at least theoretically. (require (for-syntax racket/base syntax/parse racket/string) racket/contract racket/require-syntax - racket/provide-syntax racket/unit + racket/provide-syntax racket/unit (prefix-in d: unstable/debug) racket/pretty mzlib/pconvert syntax/parse) ;; to move to unstable -(provide reverse-begin list-update list-set) +(provide reverse-begin list-update list-set debugf debugging? dprintf) (provide ;; optimization @@ -226,3 +226,7 @@ at least theoretically. (if (zero? k) (cons v (cdr l)) (cons (car l) (list-set (cdr l) (sub1 k) v)))) + +(define debugging? (make-parameter #f)) +(define-syntax-rule (debugf f . args) (if (debugging?) (d:debugf f . args) (f . args))) +(define (dprintf . args) (when (debugging?) (apply d:dprintf args)))