3.4 Debugging Macros with mischief/stepper
(require mischief/stepper) | package: mischief |
procedure
→ (vectorof (or/c step? misstep? remarkstep?)) mod : module-path?
Produces the steps in the expansion of the module that mod refers to.
Produces the steps in the expansion of stx.
struct
(struct step (type s1 s2) #:prefab) type : symbol? s1 : state? s2 : state?
struct
(struct misstep (type s1 exn) #:prefab) type : symbol? s1 : state? exn : exn?
struct
(struct remarkstep (type s1 contents) #:prefab) type : symbol? s1 : state? contents : (listof (or/c string? syntax? 'arrow))
struct
(struct state (e foci ctx lctx binders uses frontier seq) #:prefab) e : syntax? foci : (listof syntax?) ctx : syntax? lctx : (listof bigframe?) binders : (listof identifier?) uses : (listof identifier?) frontier : (listof syntax?) seq : (or/c exact-nonnegative-integer? #false)
struct
(struct bigframe (ctx foci e) #:prefab) ctx : syntax? foci : (listof syntax?) e : syntax?
Datatypes representing sequences of expansion steps parsed by the macro
stepper.