compatibility/racket/lib/collects/mzlib/traceld.rkt
Matthew Flatt 038f579b79 reorganize into core plus packages
The "racket" directory contains a pared-back version of the
repository, roughly.

The "pkgs" directory everything else in the repository, but
organized into packages.

original commit: b2ebb0a28bf8136e75cd98316c22fe54c30eacb2
2013-06-19 09:01:37 -06:00

30 lines
1.0 KiB
Racket

#lang racket/base
(let ([load (current-load)]
[load-extension (current-load-extension)]
[ep (current-error-port)]
[tab ""])
(let ([mk-chain
(lambda (load)
(lambda (filename expected-module)
(define name
(if (pair? expected-module)
(format "~a ~s" filename `(submod "." ,@(cdr expected-module)))
filename))
(fprintf ep
"~aloading ~a at ~a\n"
tab name (current-process-milliseconds))
(begin0
(let ([s tab])
(dynamic-wind
(lambda () (set! tab (string-append " " tab)))
(lambda ()
(load filename expected-module))
(lambda () (set! tab s))))
(fprintf ep
"~adone ~a at ~a\n"
tab name (current-process-milliseconds)))))])
(current-load (mk-chain load))
(current-load-extension (mk-chain load-extension))))