-
Notifications
You must be signed in to change notification settings - Fork 5
Description
I want to be able to convert any TermInterface.jl expression to one of the expression types defined by my CallableExpressions.jl package. However, I don't think that TermInterface.jl on its own currently makes that possible. The problem is that, for leaves of the expression tree, I'm not able to:
-
tell variables apart from constants
-
convert a foreign variable type to a native variable type, for that I need to associate the variable with a name, as each variable is determined by a single
Symbol
value in CallableExpressions.jl
I think it'd make sense for TermInterface.jl to introduce two additional functions:
-
isvariable
(name subject to bikeshedding, of course):isvariable(x)
should betrue
whenx
is a single variable, and it should befalse
whenx
is a constant or an expression (neither constant expressions nor variable expressions count as "a variable" here) -
variablename(x)
should return an object representing a unique name for the variable, ideally convertible toSymbol
Thoughts?