From d93db66398e1ae3ca4f7a81fe20a37b2b1ab5cd4 Mon Sep 17 00:00:00 2001 From: AlexKnauth Date: Fri, 3 Jul 2015 22:05:39 -0400 Subject: [PATCH] add #:line option to report --- typed/sugar/debug.rkt | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/typed/sugar/debug.rkt b/typed/sugar/debug.rkt index aa4214c..e2fac99 100644 --- a/typed/sugar/debug.rkt +++ b/typed/sugar/debug.rkt @@ -6,15 +6,29 @@ (define-syntax (report stx) (syntax-case stx () [(_ expr) #'(report expr expr)] + [(_ expr #:line) #'(report expr expr #:line)] [(_ expr name) #'(let ([x expr]) - (displayln (format "~a = ~v" 'name x) (current-error-port)) - x)])) + (eprintf "~a = ~v\n" 'name x) + x)] + [(_ expr name #:line) + (with-syntax ([line (syntax-line #'expr)]) + #'(let ([x expr]) + (eprintf "~a = ~v on line ~v\n" 'name x line) + x))] + )) -(define-syntax-rule (report-apply proc expr) - (let ([lst expr]) - (report (apply proc lst) (apply proc expr)) - lst)) +(define-syntax report-apply + (syntax-rules () + [(report-apply proc expr) + (let ([lst expr]) + (report (apply proc lst) (apply proc expr)) + lst)] + [(report-apply proc expr #:line) + (let ([lst expr]) + (report (apply proc lst) (apply proc expr) #:line) + lst)] + )) #| (define-syntax (verbalize stx)