Nice milestone.<p>Modern Fortran is no longer the FORTRAN from punch cards, having this compiler push maybe will help folks to write directly blazing performance Fortran code, instead of numerical code in Python.
For more information about LFortran, see<p>- Wikipedia: <a href="https://en.wikipedia.org/wiki/LFortran" rel="nofollow">https://en.wikipedia.org/wiki/LFortran</a><p>- Homepage: <a href="https://lfortran.org" rel="nofollow">https://lfortran.org</a><p>- GitHub: <a href="https://github.com/lfortran/lfortran" rel="nofollow">https://github.com/lfortran/lfortran</a><p>If you like to play with it, see<p>- LFortran in web browsers using WebAssembly: <a href="https://dev.lfortran.org" rel="nofollow">https://dev.lfortran.org</a><p>- LFortran in Compiler Explorer: <a href="https://godbolt.org/z/EfWvsY6Kh" rel="nofollow">https://godbolt.org/z/EfWvsY6Kh</a>
> It utilizes a range of Modern Fortran features, including extensive use of optional variables, function pointer passing, and a randomized test driver, among others. Successfully compiling PRIMA requires a compiler with a robust and mature backend, as well as well-developed intermediate passes and a capable parser.<p>I am not getting a full picture here. What's challenging about PRIMA code base? Does it use some advanced features that are difficult for a compiler to support? Are the mentioned features in the 2008 standard?<p>What's actually impressive is that LFortran in alpha stage is only 2x slower than GFortran, which goes back decades.
See<p><a href="https://labs.quansight.org/blog/building-scipy-with-flang" rel="nofollow">https://labs.quansight.org/blog/building-scipy-with-flang</a><p>which was once discussed on HN at<p><a href="https://news.ycombinator.com/item?id=38196412">https://news.ycombinator.com/item?id=38196412</a>
Discussions on the Fortran Discourse:<p><a href="https://fortran-lang.discourse.group/t/lfortran-compiles-prima/9296" rel="nofollow">https://fortran-lang.discourse.group/t/lfortran-compiles-pri...</a>
In case you appreciate LFortran and would like to sponsor its development, see<p>- Become a sponsor to LFortran: <a href="https://github.com/sponsors/lfortran" rel="nofollow">https://github.com/sponsors/lfortran</a><p>- Open Collective: <a href="https://opencollective.com/lfortran" rel="nofollow">https://opencollective.com/lfortran</a><p>- NumFOCUS: <a href="https://numfocus.org/donate-to-lfortran" rel="nofollow">https://numfocus.org/donate-to-lfortran</a>
I'll have to benchmark a library-less Matmul with LFortran, to compare against flang, C, and python versions.<p>Roughly: 8, 12, 18 units of time, respectively. Python only being twice as slow for the simplest matmul - how much of that is merely the interpreter startup time?