On this page:
define/  debug
define-values/  debug
lambda/  debug
case-lambda/  debug
#%app/  debug
debug
debug*
dprintf
stylish-dprintf
call-and-debug
debug-value
debug-values
debug-exception
1.1.1 debug/  syntax:   Debugging for Macros
define-syntax/  debug
define-syntaxes/  debug
1.1.2 debug/  racket:   Implicit Debugging for Racket
1.1.3 debug/  mischief:   Implicit Debugging for Mischief
7.1

1.1 debug: Explicit Debugging

 (require debug) package: mischief

syntax

(define/debug id expr)

(define/debug (head args) body ...+)

syntax

(define-values/debug (id ...) expr)

syntax

(lambda/debug kw-formals body ...+)

syntax

(case-lambda/debug [formals body ...+] ...)

syntax

(#%app/debug proc-expr arg ...)

The /debug variant of each form behaves the same as the original from racket, and additionally produces debugging output.

syntax

(debug proc-expr arg ...)

An alias for #%app/debug.

syntax

(debug* . expr)

Behaves the same as expr, with additional debugging output before and after its execution.

procedure

(dprintf fmt arg ...)  void?

  fmt : string?
  arg : any/c
Reports (format fmt arg ...) as debugging output.

procedure

(stylish-dprintf fmt arg ...)  void?

  fmt : string?
  arg : any/c
Reports (stylish-format fmt arg ...) as debugging output.

procedure

(call-and-debug fmt arg ... #:thunk proc)  any

  fmt : string?
  arg : any/c
  proc : (-> any)
Invokes proc and produces debugging output, annotated with (stylish-format fmt arg ...)

procedure

(debug-value fmt arg ... #:value x)  void?

  fmt : string?
  arg : any/c
  x : any/c
Reports that the value x is returned, annotated with (stylish-format fmt arg ...).

procedure

(debug-values fmt arg ... #:value xs)  void?

  fmt : string?
  arg : any/c
  xs : list?
Reports that the values in xs are returned, annotated with (stylish-format fmt arg ...).

procedure

(debug-exception fmt arg ... #:exn x)  void?

  fmt : string?
  arg : any/c
  x : any/c
Reports that the value x is raised as an exception, annotated with (stylish-format fmt arg...).

1.1.1 debug/syntax: Debugging for Macros

 (require debug/syntax) package: mischief

syntax

(define-syntax/debug id expr)

(define-syntax/debug (head args) body ...+)

syntax

(define-syntaxes/debug (id ...) expr)

The /debug variants of define-syntax and define-syntaxes produce debugging output at compile-time (phase 1 relative to their binding).

1.1.2 debug/racket: Implicit Debugging for Racket

 #lang debug/racket package: mischief

The debug/racket language provides the same bindings as racket except that it uses the /debug-suffixed definitions from debug in place of the originals. The language also provides define-syntax/debug as define-syntax at phase -1, so that any macro transformers defined using debug/racket will generate appropriate output.

1.1.3 debug/mischief: Implicit Debugging for Mischief

 #lang debug/mischief package: mischief

The debug/mischief language provides the same bindings as mischief except that it uses the /debug-suffixed definitions from debug in place of the originals. The language also provides define-syntax/debug as define-syntax at phase -1, so that any macro transformers defined using debug/mischief will generate appropriate output.