GSOC 2023 | Guidance regarding project proposal for "Support for C++ (fpm)"

Hello Everyone! Myself Kritika Rag. Earlier I had expressed interest in working on the Support for C++ (fpm) project for the upcoming GSOC 2023, and for that, I had also been working on a PR related to the Hindi translation of the fpm-docs. I had not been able to actively work on it for the past one to two weeks due to my ongoing college exams, for which I’m truly sorry but I have finally finished it now and have submitted it for review.

Now, since the deadline for the project proposal is approaching fast and so I need a little help regarding it. I tried my best to research about what would be the scope and requirements of the project and these are the few things(roughly) I had been able to come up with that would be required in the project:

  • The source scanner needs to be modified to handle C++ headers and modules. This may require updating the existing code to recognize C++ syntax and keywords.
  • The fpm compiler needs to handle C++ compiler flags such as -std=c++11 or -lstdc++.
  • The fpm package manager needs to be updated to handle C++ libraries and dependencies. This may involve creating a new package format that supports C++ libraries or adding support for existing package formats such as CMake or Autotools.
  • The fpm compiler needs to be updated to ensure the correct linking of Fortran and C++ code. This may involve creating wrapper functions or using external linkage specifications to ensure that the correct symbols are available at link time.
  • To ensure that fpm can compile C++ projects correctly, a comprehensive testing suite needs to be developed. This testing suite should cover a range of Fortran and C++ projects, including those that use templates, libraries, and complex data types.

Honestly, the project description was quite short so these are the only pieces of stuff I’d been able to come up with, which isn’t enough to prepare the whole proposal, especially the timeline part so I would be grateful if the mentors of this project could help me to get a little more deep level of understanding of this project. Also for the coding and implementation part I’d been referring to the following codebases :

(I just hope I’m not getting into any wrong direction)

4 Likes

Thanks @kritika_rag. I suggest not worrying too much about whether your implementation plan is correct or whether you thought of everything 100%. Things will change and your potential project with hit issues and need workarounds. That’s expected. What we want to see in your proposal is that you have a general idea of the required pieces (at a high level), and what your thought process is about tackling this project.

So, my suggestion is that you expand your bullet points and make a list of actionable items/tasks and organize them in an approximate weekly schedule. It’ll be helpful if you can identify likely challenges/risks and propose some potential workaround to mitigate those risks.

I look forward to your proposal.

1 Like

Hello @milancurcic According to your suggestions I’ve prepared this proposal Kritika_Rag_GSoC_2023_Proposal can you please have a look at it and suggest any require changes?

P.S. - I took a little reference from proposals submitted by other contributors, I hope that won’t be an issue.

Also I submitted my PR more around a week ago (Hindi Translation #97) upon which I requested to make some changes by @arteevraina related to the hosted url which was pointing to some local path in my system and then I made few changes to it and submitted again for the review but either have I received any feedback on it nor it has been merged. According to the patch requirement the PR must be merged otherwise my proposal won’t be of any use, so can you please review it too?

I understand that you might be busy with some other works and I too got delayed due to my ongoing practicals and exams in college(I’m again really sorry for that) but I would be really grateful if you could look into these.

Thank you so much :slight_smile:

2 Likes

Thanks for your contribution to the docs. Reviewing translations is difficult, especially for non-native speakers. Maybe we can find some Hindi speakers in our community which can help with the review, for this it would be very useful if you could setup a preview of your translation.

Generally for the patch requirement, it says at least one patch, but please take this as an opportunity to get to know the community you will be working with. In case of fpm, it makes sense to contribute patches to the fpm code base and interact with the currently active maintainer team there.

1 Like

Yeah sure! I’d been looking into the fpm repository and had been trying to understand the codebase since past few days and would soon try to start working on some issue related to it.

For the patch requirement, I was just concerned that since deadline for GSoC 2023 application deadline is approaching and it’s taking quite long for my PR to get reviewed that it might would affect my application.

Also if possible can you just go through my proposal (GSoC_2023_Kritika_Rag_Proposal) once and let me know if I should with submitting it or do I need to make any changes?

Hi @kritika_rag ,

FYI I have gone through your proposal closely and it looks solid to me and I personally did not notice any need for changes.

However please note I’m entirely inexperienced when it comes to GSoC as I’ve consciously stayed away from it and I have not put in any effort whatsoever to develop any insight into their rubric when it comes to the selection process of applications. Thus my feedback is only that of a naïve pair of eyes trying to check whether anything otherwise obvious got overlooked somehow. Hopefully you will get more actionable feedback from other readers here.

Please note your write-up toward the proposal is most impressive relative to what I am used to come late-Spring and early summer in the US: I work in industry among various engineering disciplines and over the years, I have mentored dozens of summer interns who have completed their junior years in chemical or chemistry or mechanical engineering at good schools in the US. Relative to my experience with the difficulties among the interns to write problem statement(s) and the description accurately and to propose solutions along with project plans and delivery schedule and challenges and mitigation, you hit all the notes very well.

All the best with your application and wish you a great experience with GSoC.

P.S.> You write, “I have very limited experience with Fortran, in fact this is the first time I’ll be working with Fortran,” during this effort hope you will remain interested in learning more about Fortran up the latest standard (2023 to be published later this year)!

It will be really cool if you can write a blogpost or some such re: the impressions and insights you develop on Fortran and given your experience and expertise with computer science (CS) as well as C++, if you can offer some feedback on what CS concepts should Fortran consider adding to the language that the users of Fortran will find useful relative to what C++ has implemented well up to its C++23 standard!

1 Like

Hi @FortranFan thank you so much for reviewing a my proposal and your feedback means a lot to me :slight_smile:

Yeah definitely I’ll remain interested in learning more even after the end of the program

This is such a good idea. I had been thinking of writing technical blogs since a while and this actually might be a good topic to start with. Thank you so much for your suggestions.

1 Like

@kritika_rag Thanks for submitting the proposal and for your PR. I just want to confirm here that your PR not being merged will not be held against you in the decision-making process. What we’re looking for with the patch requirement is your ability to work with GitHub and the quality of your interaction with the community (being communicative, asking for help, etc.). It’s all good so far.

1 Like

@milancurcic Thank you so much for your feedback and guidance