GSoC intro -- fpm version constraint resolution

Heya friends, I’m interested in contributing to Fortran for GSoC 2025, specifically I’m interested in version constraint resolution in fpm, but first a little about myself.

I’m a maths undergrad from Stockholm and I’m very interested in things relating to programming languages, their design and implementation, things like parsing, type inference (and type theory more broadly). At this point in my education I really like mathematics for it’s own sake, but initially I got into mathematics as a means to understand programming better; I wanted to understand certain language extensions to Haskell, or why the Rust borrow checker is the way it is, and noticed that not knowing the mathematical lingo was keeping me from doing so, so I pursued an undergrad :-))

I’ve contributed to elm-format via GSoC once before in 2021, back when I was really into pure functional programming on the web. Other than that I do the occasional contribution, and work on some fun side-projects on my github and sourcehut.

I must admit, I’ve never programmed in Fortran up to this point, and I’m not really super interested in Fortran in itself, or the things people usually use Fortran for, so why am I writing here?!? Well, version constraint resolution seams really fun to me, and I would really like to learn how it is done, and all the troubles with transient dependencies, etc. I’ve had my fair share of dependency hell, error messages from npm that I didn’t understand, not to mention Haskells cabal… So with that experience (which unfortunately many new devs share with me) in mind it feels not only interesting, but also meaningful to contribute to a solid package-management story for Fortran.

So… That’s me. I would be interested in hearing what people think, especially the not-so-interested-in-fortran-itself-but-interested-in-tooling part. In the coming days I’ll try out some more Fortran, and hack a little on fpm, and then take it from there.

10 Likes

Hi Emma, thanks for writing here! I just came to say that’s really impressive work on your SourceHut/GitHub.

1 Like

Awesome, @emmabastas please go ahead and submit a PR for the patch requirement.

1 Like

Thank you @milancurcic and @certik for the warm welcome. I’ve started working on this issue,

but I’m holding of a little until I get some feedback, please let me know if I can just go ahead and work towards a pull request for that issue :slight_smile:

Hi @emmabastas welcome to the community and thanks for your interest in participating in this year’s GSoC!

If you might be interested, I would say this issue Ability to pass any compiler flags directly to the compiler · Issue #1096 · fortran-lang/fpm · GitHub might have a higher priority in terms of impact (this evaluation is completely biased)… I would say: fpm having issues running in parallel might be tolerable, not being able of customazing the different compile options is really cumbersome for a package manager.

Also, I have a feeling that this issue might be a little bit closer to the project you are applying to.

1 Like

Thank you for the tip, I agree with you, and I think it’s pretty uncontroversial to say that the issue you linked has a bigger impact (and, as for many high-impact issues, it’s not as obvious what the right solution is). I’ll head over there and have a look.

1 Like

I join the other Fortran enthusiasts welcoming you to the forum @emmabastas!
For the patch requirement, I believe you may want to consider a self-contained task i.e. choosing from any of the open issues, there are quite a few that are relatively easy to address even if you are not familiar with fpm yet.

But of course I don’t want to stop you from aiming for the stars :slight_smile:

2 Likes