lfortran
Watch the video here!
My second video, and I couldn’t be happier with how this one turned out. I’m ecstatic that I could do a complete 180 from the prior video and dive into a much different project. Moreover, jumping into a language that I was completely unfamiliar with was exactly the sort of challenge I was looking for when I started this challenge.
lfortran is a modern Fortran compiler, built on top of LLVM.
I mis-spoke in the video a few times and called it “lib Fortran”, but I’m fairly sure that the “l” stands for “LLVM” now.
This is an ambitious project that is still in pre-beta, and is working on matching behavior of the standard gfortran
compiler. The issue I found was relatively straightforward at first
glance. Two intrinsic functions (minval and maxval) were already implemented in lfortran, but they were only working
with numeric arguments, but they were also expected to work with character values.
This video was long, more than two and a half hours. Although I wasn’t able to send a pull request to fix the original issue,
I am incredibly happy with the result. Success, especially as a new contributor, doesn’t always mean authoring code to fix
an issue. In this case I was able to make a code change which I believe would have fixed the original issue, but in doing
so discovered a much larger issue. To go from originally trying to implement a function as simple as minval, and to find
out that string comparisons might be broken within this compiler, is an awesome story. I feel like the comments I left on
the issue were informative, and are hopefully appreciated by the project maintainers.
Of all the videos I’ve done so far, this is the one that I’m most hoping to come back to. If and when I get some response on the original issue, I would be very interested in following up with a code change (either the original issue or tackling the signed string comparison issue).
Outside of the software aspects, this was my first time pre-editing a video I published. I learned quickly after my first
video that I couldn’t depend on the YouTube editor. So, I picked up kdenlive and used it to trim the start/end of the
video. This was actually overkill as I would learn later, but its still nice to have another tool in the belt.