Comment #3 on issue 1612 by [email protected]: Symbol('f')(x) != Function('f')(x)
http://code.google.com/p/sympy/issues/detail?id=1612

There are deep design issues at play here. That Function.__new__ is called both from Function('f') and exp(x) is a clear design smell. We should use something like FunctionSymbol('f') instead of Function('f') - like in issue 1688. Then there is the fact that a Symbol can represent absolutely anything (a Boolean, an Expr, a set, a function, ...) but when you call it, you implicitly restrict it to be something that can be called, i.e. a function. This means that we should probably have Symbol('f') != FunctionSymbol('f'), while Symbol('f')(x) evaluates to FunctionSymbol('f')(x). Another possibility that seems closer to the spirit of issue 1688 would be to have Symbol('f')(x) evaluate to Apply(Symbol('f'), x) but then it's not clear how this can
be made equal to Apply(FunctionSymbol('f'), x).

--
You received this message because you are subscribed to the Google Groups 
"sympy-issues" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sympy-issues?hl=en.

Reply via email to