Okay, here's my current plan:
Leave S alone for the moment - I don't feel we have reached a consensus
there.
Remove all uses of C inside SymPy, replacing them by imports from the
original module.
Fix any import cycles that that causes. Techniques I have seen:
- Move the import statement into the function that uses it
(dependencies less clear)
- Move the import to the bottom of the file
(dependencies less clear)
(nonidiomatic)
(can cause other problems)
- Replace "import foo from mod" with "import mod"
(requires changing foo() to mod.foo())
(seems to be the least intrusive change for most situations)
- Eliminate the cycle by
- importing just submodules
- splitting a module
(possible if import graph is cyclic, call graph is acyclic)
(sometimes this actually improves the overall program structure)
(sometimes it rips apart stuff that belongs together)
Probably it's mostly the third option, and the last option in obvious cases.
Make a separate pull request per module, except when refactoring.
This should avoid huge pull requests that accumulate conflicts until
they're approved.
Once all pull requests are accepted, deprecate C.
Should I go forward with that?
Advice? Comments?
Regards,
Jo
--
You received this message because you are subscribed to the Google Groups
"sympy" 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?hl=en.