Status: Accepted
Owner: [email protected]
Labels: Type-Defect Priority-High Milestone-Release0.7.0 Simplify
New issue 2420 by [email protected]: Refactor EPath
http://code.google.com/p/sympy/issues/detail?id=2420
This got in with several major issues unresolved:
* Bad module name ('tools' in epathtools' is meaningless)
* The catch-all function epath() tries to do everything except the coffee
and is therefore meaningless.
* The implementation is made overly complicated by the use of nested
functions for no reason, and by the use of __slots__.
Additionally:
* If having functions in addition to the EPath class is really deemed
necessary, then we should have eselect(expr, path) and eapply(func, expr,
path) - note the meaningful function names and argument order consistent
with the semantics.
* 'args' and 'kwargs' arguments to apply() should be removed. They're
confusing, given that the function needs to also take expr as an argument,
and prevent the arguments of apply from being in the logical order:
apply(func, expr).
* Epath(...).apply() does something that is much more similar to the
builtin function map() than to apply(), so it should be called 'map'.
(Almost) all this has to be done before the release, otherwise we'll have
to break compatibility.
--
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.