racket/collects/macro-debugger/stepper.rkt

26 lines
630 B
Racket

#lang racket/base
(require racket/class
racket/contract
unstable/class-iop
"model/trace.rkt"
"view/interfaces.rkt"
"view/view.rkt")
(define (create-stepper deriv)
(define director (new macro-stepper-director%))
(define stepper (send/i director director<%> new-stepper))
(send/i director director<%> add-deriv deriv)
(void))
(define (expand/step stx)
(create-stepper (trace stx)))
(define (expand-module/step module-path)
(create-stepper (trace-module module-path)))
(provide/contract
[expand/step
(-> syntax? void?)]
[expand-module/step
(-> module-path? void?)])