In my GSoC project I am going to work on the interop in SymEngine regarding which I have some questions based on which I will plan my work.
- SymEngine only has the symbolic ring, do we need to implement the other rings like the integers, rational numbers, real numbers and the complex numbers, if so where can I find some reference for their implementation ?
- The Symbolic class you created in this PR symengine/symengine#1058 for the coercion framework is just a copy of the Basic class with a different class id, does it have to be this way only or something else also things needs to be added ?
- What is the purpose of the visitor class ?
- For the coercion we would be adding the checks to the different function definitions itself, so would they follow only the rules you have specified in https://groups.google.com/forum/#!topic/symengine/nBx1IhhCThA or there is something else also that needs to be kept in mind while performing the checks ?
- What is the difference between the symbolic class and the expression(are they comparable at all)?
- In your pull request symengine/symengine#1058 you have mentioned that if there are n types, then the compiler will generate n x n number of methods, what are the types you have talked about and particularly why will the compiler generate n x n methods ?
Kindly help me with the same and also if you could point me to some links for ideas on implementing the coercion framework it would be really helpful.