You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 be true when x is a single variable, and it should be false when x 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 to Symbol
Thoughts?
The text was updated successfully, but these errors were encountered:
I think it's generally a good idea, but we don't definitely want to define isvariable(x::Symbol) = true, because in Expr we won't know when a symbol is used as a variable or not. It depends on the context. I suggest to not include it in TermInterface.jl because it really does depend on the language being used.
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.jlI 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?
The text was updated successfully, but these errors were encountered: