in the relm of metaprogramming: Given an arbitrary well-formed Expr
that contains zero or more symbols, to replace each symbol by a value chosen as its referent (given in an available Dict) one assigns into the appropriate Expr.args[n].&tc. Getting there may be half the fun for some … I am wondering if there is a nifty way to open up
an Expr so each of its constituent Symbols is available by immediate lookup opened = openup(expr); keys(opened) are the Symbols, values(opened) are the paths into the expr that hold and that may replace the associated key symbol with some other typed value
, I realize there needs to be a way to handle symbols that occur more than once – the values may be tuples.
And for this to be helpful, a corresponding unopen( opened )
algorithm is needed.
Is this available?