From 9b47039c0ae8a25cd3b3819517181da2bc359b59 Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Sun, 22 May 2016 13:08:31 -0700 Subject: [PATCH] add `report-datum` --- beautiful-racket-lib/br/debug.rkt | 9 +++++++++ beautiful-racket-lib/br/subscope.rkt | 3 ++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/beautiful-racket-lib/br/debug.rkt b/beautiful-racket-lib/br/debug.rkt index 6a46b05..3788e04 100644 --- a/beautiful-racket-lib/br/debug.rkt +++ b/beautiful-racket-lib/br/debug.rkt @@ -10,6 +10,15 @@ (eprintf "~a = ~v\n" 'name expr-result) expr-result)])) +(define-syntax (report-datum stx) + (syntax-case stx () + [(_ stx-expr) (with-syntax ([datum (syntax->datum #'stx-expr)]) + #'(report-datum stx-expr datum))] + [(_ stx-expr name) + #'(let () + (eprintf "~a = ~v\n" 'name (syntax->datum stx-expr)) + stx-expr)])) + (define-syntax-rule (define-multi-version multi-name name) (define-syntax-rule (multi-name x (... ...)) (begin (name x) (... ...)))) diff --git a/beautiful-racket-lib/br/subscope.rkt b/beautiful-racket-lib/br/subscope.rkt index 81ffb26..e73764c 100644 --- a/beautiful-racket-lib/br/subscope.rkt +++ b/beautiful-racket-lib/br/subscope.rkt @@ -1,4 +1,5 @@ #lang br +(require (for-syntax br/syntax)) (provide (all-defined-out)) (define #'(introduce-scope _color . _parents) @@ -16,7 +17,7 @@ (replace-context #'_color #'(begin (module module-name br - (require (for-syntax br/datum br/scope)) + (require (for-syntax br/datum br/scope br/syntax)) (provide (for-syntax (all-defined-out)) (all-defined-out)) (begin-for-syntax