[e-lang] Need help with program analysis for Transparent auditor (or: code zippers)

Mark Miller erights at gmail.com
Sun May 4 11:50:30 CDT 2008


On Sun, May 4, 2008 at 7:25 AM, Kevin Reid <kpreid at mac.com> wrote:
>  2. Switch to a pre-processing stage (instead of the incremental
>  operation of a zipper) to assign an identity (or a mutable analysis-
>  information field, equivalently) to each variable binding and all of
>  its uses, and add upward references (like in the zipper) to each
>  node; this would make the is-this-foo-that-foo test a simple comparison.
>  At the moment, the second option seems attractive; tying uses to
>  definitions of variables in a generic fashion should be useful for
>  other types of analysis. And since this is strictly analysis, not
>  transformation, I don't need the modify-without-mutation function of
>  a zipper. The only reason I haven't done that yet is I think zippers
>  are neat (and there might be other uses for an established zipper
>  over E ASTs).
>
>  What do you think I should do?


I followed your link to Zippers, and I was not able to quickly
understand them. OTOH, I understand your option #2. Since there
doesn't seem to be an overriding argument for the harder-to-understand
abstraction, I think you should do #2.


-- 
Text by me above is hereby placed in the public domain

 Cheers,
 --MarkM


More information about the e-lang mailing list