I guess I'll write up a GSoC project proposal for improving the LaTeX parser and send it here soon.
As for mentor availability, do you have any ideas about who might be a good mentor for this project? On Thursday, March 30, 2023 at 1:33:29 PM UTC+5:30 Tirthankar Mazumder wrote: > On Wednesday, March 29, 2023 at 3:16:22 AM UTC+5:30 [email protected] > wrote: > > There's been a lot of progress on the codegen module. I think you missed > this GSoC project which created it > https://github.com/sympy/sympy/wiki/GSoC-2017-Report-Bj%C3%B6rn-Dahlgren:-Improved-code-generation-facilities. > > We also currently have Sam Brockie working on codegen stuff (as well as > physics.mechanics) stuff as part of our CZI grant. The good news though is > that there is plenty to do, so having multiple people working on this is > definitely welcome. It might be a good idea to sync up with Sam if you are > interested in working on codegen to see what a good project might be. > > Ah, you're right, I *did* miss that 2017 GSoC project 😅 > > If you're interested in *any* parsing related project, I'd say the highest > priority project relating to parsing right now is to work on the LaTeX > parser, which is by far the most popular parsing tool in SymPy. We need to > rewrite it so that it uses a much lighter dependency than antlr. Lark has > been suggested, but we are open to other ideas as well. I would also like > to see it be possible for users to extend the parser at runtime, which is > currently impossible with the antlr parser. General improvements to its > parsing capabilities are needed as well (search the issue tracker for > issues related to parse_latex). > > That's actually a pretty interesting project idea. The fact that it's > widely used is a great motivator for me. > > > > I would try to pick one or the other, parsing or codegen. While they can > be related, they are disjoint enough that they shouldn't be mashed together > into a single project proposal. > > That sounds like a good idea to me. > > You may also be interested in lfortran, which is a different GSoC > organization ( > https://summerofcode.withgoogle.com/programs/2023/organizations/fortran-lang), > > but which has close ties to SymPy (Ondřej Čertík the creator of lfortran > was also the original creator of SymPy). > > > > Aaron Meurer > > On Tue, Mar 28, 2023 at 10:59 AM Tirthankar Mazumder <[email protected]> > wrote: > > 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 > > <https://groups.google.com/d/msgid/sympy/e6fe81be-fb43-4ffd-b189-c6682e31b217n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > -- 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/91f8fa32-2c08-47a2-a329-f20f1f4c7795n%40googlegroups.com.
