Portable walker?

Dec 05, 2015 12:30

Does anyone know of a portable code walker that works across all the popular implementations? (I know more or less all of them have a walker buried inside their CLOS, but the interfaces to these aren't all the same. I looked at ql's hu.dwim.walker but it's not in theory available on very many implementations, and when I tried it on LW it just Didn' ( Read more... )

library, lisp

Leave a comment

Comments 6

ext_722206 December 6 2015, 03:16:34 UTC
A portable code walker wouldn't be able to cope with implementation-specific special forms, which can show up in the expansion of standard or implementation-specific macros or functions.

Reply

enlivend December 6 2015, 09:45:56 UTC
Good point.

What I'm after is a library, where someone else has done the work of interfacing to each implementation's walker, so I can go (frob:walk-form form function) and not worry about the internals.

Reply

ext_1472609 December 7 2015, 06:44:46 UTC
I think SLIME has something like that.

Reply

enlivend December 7 2015, 08:21:38 UTC
SLIME has macroexpand-all, which in some implementations calls walk-form in some package, with one argument, and in other implementations calls macroexpand-all in some other package. I wanted to see the API to walk-form with a function argument supplied, in every implementation.

Reply


ext_849662 December 7 2015, 08:55:40 UTC
I guess cl-cont (a relatevely widely used library) should have a wolker

Reply


Leave a comment

Up