racket/collects/unstable/debug.ss
Sam Tobin-Hochstadt e9165339b8 add debugging macro to unstable
svn: r17534
2010-01-07 17:09:35 +00:00

18 lines
508 B
Scheme

#lang scheme/base
(provide debug)
;; printf debugging convenience
(define-syntax debug
(syntax-rules ()
[(_ (f . args))
(begin (printf "starting ~a~n" 'f)
(let ([l (list . args)])
(printf "arguments are:~n")
(for/list ([arg 'args]
[val l])
(printf "\t~a: ~a~n" arg val))
(let ([e (apply f l)])
(printf "result was ~a~n" e)
e)))]
[(_ f . args) (debug (f . args))]))