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.

Reply via email to