SLIME's just got a new contrib called slime-macrostep , courtesy of Jon Oddie who also wrote the underlying macrostep package.



And what is slime-macrostep ? It's an interactive inline macro-expander. Have a look:





WITH-FOREIGN-OBJECT

WITH-ALIEN

slime-macrostep

macrostep-expand

e

slime-fancy

In this quick demo, using a CFFI example, I start by expanding the top-levelform, then I expand theform, but regret it and collapse it back. Then I proceed to expand everything else, including compiler macros!A nice feature ofis that the expansions are annotated to show which forms are further expandable andwill jump automatically to the next expandable form. That's what makes it a stepper: pressingrepeadly will step through the macroexpansion. Plus, it expands macrolets!If you'd like to try it out, please grab SLIME's bleeding edge ( via MELPA or Git ). It's enabled by default if you use themeta contrib. Feedback is most welcome.