@Joachim, you are right about what you say, but I do not think it
applies to the geometry module.
Everything below is just an opinion, moreover I am not the original
author the the geometry module, so take it with a grain of salt.
The geometry module was created as a tool for high school euclidean 2d
geometry and it was never meant to be used in advanced abstract math
or to work in any number of dimensions (e.g. nobody will use it for
elliptical curves cryptography or for geometry over a field that is
not the real numbers). We have two options to go forward:
- generalize it to N dimensions (which is not what this gsoc project
is doing and it will probably never be done (a completely new module
is more realistic))
- make it work in 3D (what this project is doing and what I discuss below)
Given that it is only 2d and 3d that we are working on, I think a
minor amount of code duplication[1] is a good thing, as it will make
the code simpler.
[1] at least in the beginning: during code reviews we can see whether
there is something worth abstracting away.
Going back to the current work in progress:
While I do not have a very strong opinion on the above, there is one
thing I insist on. A large amount of `if 2d:... elif 3d:...` snippets
is an obvious antipattern in an OO language. The current works has a
lot of them and it was the reason for which we decided to push the
conversation to the mailing list.
> --
> You received this message because you are subscribed to the Google Groups
> "sympy" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to
sympy+un...@googlegroups.com.
> To post to this group, send email to
sy...@googlegroups.com.
> Visit this group at
http://groups.google.com/group/sympy.
> To view this discussion on the web visit
>
https://groups.google.com/d/msgid/sympy/537F9CC3.5060501%40durchholz.org.
>
> For more options, visit
https://groups.google.com/d/optout.