LFortran Compiles 60% of Scipy

We are happy to announce that LFortran now compiles 60% of all Fortran packages in SciPy, unmodified, and all SciPy tests pass.

The progress to beta is now at 5/10 (see the progress bar at https://lfortran.org/).

44 Likes

Although not functionally tested, LFortran v0.30 succeeds to compile the following Netlib packages:

11 Likes

Congratulations to all who took part in it. :tada:

1 Like

Does a schedule for the support of block data (F77) exist?

Does a schedule for the support of block data (F77) exist?

Our nearest roadmap is stdlib compilation, so the “block data” is not on it. Is “block data” the only thing missing in LFortran that you need? If so, we can prioritize it. Otherwise I think stdlib is higher priority, as it reaches wide spectrum of users, and we get to these older features after stdlib works well.

“need” is probably over the top, but I try every new LFortran version with some of my (older) codes out of curiosity and just noticed that block data is still not supported. I already assumed that it hasn’t high priority. Due to the fact that I have zero experience with compiler development, I’m also unable to provide a patch (I can’t even imagine how much work it actually is to implement this feature).

@certik, do you have a complete list of codes you are currently planning to add to your test suite (beyond the ones you list on your web site). I would suggest you add the Fortran interfaces to netCDF to your list if its not already planned. Given how widely used it is in the climate, weather and ocean modeling (CWO) community (and others as well), I think you should make compiling it and its test programs a priority. I will admit to a bias wrt netCDF since I’m one of the Fortran interface code authors.

1 Like

@interkosmos, @rwmsu thanks for the feedback. Before we can declare “beta”, we need to support both features you mentioned. I think that is clear. The only question is which order to tackle things on the way to beta, right now we are doing everything needed for stdlib, after that we’ll decide which code to tackle next. While we work on stdlib, you are welcome to fix up other things as you need. If you have time, just not the skills, I am happy to teach you the basics how to fix these things.