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 ...)
syntax
(debug proc-expr arg ...)
syntax
(debug* . expr)
procedure
(dprintf fmt arg ...) → void?
fmt : string? arg : any/c
procedure
(stylish-dprintf fmt arg ...) → void?
fmt : string? arg : any/c
procedure
(call-and-debug fmt arg ... #:thunk proc) → any
fmt : string? arg : any/c proc : (-> any)
procedure
(debug-value fmt arg ... #:value x) → void?
fmt : string? arg : any/c x : any/c
procedure
(debug-values fmt arg ... #:value xs) → void?
fmt : string? arg : any/c xs : list?
procedure
(debug-exception fmt arg ... #:exn x) → void?
fmt : string? arg : any/c x : any/c
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)
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.