Hello everyone, my name is Tirthankar Mazumder and I am a third year 
undergraduate mathematics student in the Indian Institute of Technology, 
Bombay. This year, I would like to do a GSoC project in either the parsing 
or codegen submodules of SymPy.

I've looked at the project ideas for both submodules, and also the previous 
work done in those areas. I saw that there was an early GSoC project in 
2010 by Øyvind Jensen which essentially gave birth to the autowrap stuff in 
the sympy.codegen submodule.

Along with this, there were two more recent projects in 2015 and 2019 
respectively, by Ankit Pandey and Nikhil Maan. Ankit added functionality 
for generating Fortran code from the equivalent SymPy code using LFortran, 
and also did some work in optimizing certain matrix codegen operations. 
Nikhil setup the framework for and wrote most of the current C and Fortran 
parsers.

With this prior work in mind, I want to ask about three things to the 
community:
1) Is there a mentor for this project, or someone willing to mentor for 
this project? I know that last year, Anurag 
<https://groups.google.com/g/sympy/c/xYoL_YlVyu8> had a very strong 
proposal which was unfortunately not accepted as a GSoC project due to a 
lack of mentors.
2) Even though I have used SymPy over the past two years for some 
assignments and other projects, I have not used much of SymPy's codegen or 
parsing capabilities beyond lambdify. What kind of use cases are these 
submodules usually used for, and what kind of improvements (bug fixes, 
feature requests, more documentation, etc.) would the community like to see 
in these areas?
3) What are some of the possible GSoC projects could I do for these two 
projects? (Note that while I am asking about information for both 
submodules, I am fine with just contributing to one of these submodules.)

The GSoC ideas page <https://github.com/sympy/sympy/wiki/GSoC-Ideas> 
mentions that a lot of work has been done in the intervening time between 
now and the previous GSoC, and hence to ask about the current state of 
affairs in these submodules.

*parsing*:
In the C parser, there are currently a few bugs (one of which I have been 
working on <https://github.com/sympy/sympy/pull/24954>), and the 
transform_string_literal node code is left as a TODO. One of the things I 
could do as a part of a parsing related GSoC is to fix these issues.

Along with that, I could also perhaps add another language to the parsing 
submodule (like, say, Rust/Julia/C++), but is there a demand for that? 
Would it be worth the developer and maintainer effort to do something like 
that? Are there other parsing related projects I could do?

*codegen*:
While I admit that I didn't poke around in the codegen submodule too much 
(and hence am not too familiar with the current state of affairs), the GSoC 
ideas page <https://github.com/sympy/sympy/wiki/GSoC-Ideas#code-generation> 
mentions that adding support for more fnodes for Fortran, adding support 
for OpenMP directives, and looking into optimized matrix codegen calls 
could be a solid GSoC project. What are your thoughts on that?

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/e6fe81be-fb43-4ffd-b189-c6682e31b217n%40googlegroups.com.

Reply via email to