I often find that for debugging I want to see a log message saying "I'm about to do X" followed by X followed by "I'm done with X" and I want it to return the result of X.
I wrote this macro and posted it to the package server: https://pkgs.racket-lang.org/package/log-bracketed In retrospect, the syntax is bad and I should change it. Can anyone suggest something better? (define (on-complete x) (log-test-debug "entering on-complete") x) (struct person (name) #:transparent) (log-bracketed test-debug "on-complete" "time: ~a" (current-seconds) (on-complete (person 'bob))) (log-bracketed test-debug "on-complete" "" "no user-specified logging information") Spits out: test: about to on-complete. time: 1630611613 test: entering on-complete test: after on-complete. time: 1630611613. result: (person 'bob) (person 'bob) test: about to on-complete test: after on-complete. result: "no user-specified logging information" "no user-specified logging information" The problem is that this looks like it's a simple logging message when in fact it's real code that should not be ignored. I'm trying to think of a better way to do it...maybe something like this?: (with-bracketing-logs ([test-debug "on-complete" "time: ~a" (current-seconds)]) (on-complete (person 'bob)) -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/CAE8gKocZha-NpiFAAKT1c8QTG3MDFRnvxCD4T0P269EncZW3KQ%40mail.gmail.com.