
changed mztake-process to define-mztake-process changed 'break to 'entry improved error messages traces get processed in the order they are defined in the script file now. svn: r148
40 lines
1.3 KiB
Scheme
40 lines
1.3 KiB
Scheme
#|
|
|
(mztake-process p ("sine.ss" [sin/x 5 8 bind '(sin-x x)]
|
|
[foo 10 20 bind '(sin-x x)])
|
|
("sine-extra.ss"))
|
|
|
|
(define sin/x (hold sin/x))
|
|
(define x (+ 200 (second sin/x)))
|
|
(print-b "x:" x)
|
|
|
|
*** translates to ***
|
|
|
|
(define p (create-debug-process))
|
|
(define-values (sin/x foo ...)(
|
|
(let ([tmp (create-debug-client p "sine.ss")])
|
|
(values (create-trace tmp 5 8 'bind '(sin-x x))))
|
|
...
|
|
|#
|
|
|
|
(module mztake-syntax (lib "frtime-big.ss" "frtime")
|
|
|
|
(require (lib "mztake.ss" "mztake")
|
|
(lib "useful-code.ss" "mztake" "private"))
|
|
|
|
(define-syntax define-mztake-process
|
|
(syntax-rules (define-mztake-process)
|
|
[(define-mztake-process proc-id (client (trace line col cmd . args) ...) ...)
|
|
(begin
|
|
(define proc-id (create-debug-process))
|
|
(begin
|
|
(define-values (trace ...)
|
|
(let ([tmp (create-debug-client proc-id 'client)])
|
|
(values
|
|
(create-trace tmp line col 'cmd . args)
|
|
...))) ...))]))
|
|
|
|
(provide define-mztake-process
|
|
(all-from (lib "frtime-big.ss" "frtime"))
|
|
(all-from (lib "mztake.ss" "mztake"))
|
|
(all-from (lib "useful-code.ss" "mztake" "private"))))
|