“When someone says: ‘I want a programming language in which I need only say what I wish done’, give him a lollipop.” Alan J. Perlis in Software Metrics

Welcome everyone, this is your host Nikhil Maan aka Sc0rpi0n101 and this week has been relatively a little odd. The week started a little slow but slowly it turned out to be a good and productive week.

A Slow Start


As you guys already know, last week ended with me being late with the work and the blog. Last weekend was also the Drupal Camp Delhi. Don’t worry, the DCD19 blog will be out tomorrow


So, this week was a slow start, I could only start proper work on Monday and that too not in full force as this week was the last week for the summer semester classes and I had a few extra classes and assignments, so I was busy doing the Uni work. But later in the week as I completed the work, I got more free time to work on the Project. So, it turned out to be a good and overall productive week after all.

LFortran Testing


Majority of my work this week was focused on testing which features are currently supported by LFortran and which features still need some work done. It was important to both the parser and the documentation improvements as I had to list all the working and under-development functions for LFortran in the documentation revision. I also had to see what features can be implemented in the parser for now and which need to wait until they are fully developed for LFortran.


For anyone interested, Here are some of the issues I created in the LFortran Issue tracker in the official repo

chuck norris test

I’m currently testing the Fortran implicit functions and mathematical functions like sin, cos, precision etc. supported in LFortran. I will be creating a Merge request for the Documentation revision as soon as I’m finished with the tests and the parser pull requests. Hopefully, that also gets finished within the coming week.

Finally, The Missing Pull Request

pull request

After all these weeks of waiting and going back and forth on the work I’ve done on the Fortran Parser, I did manage to create a WIP Pull Request at sympy with working conversion functions for basic operations and function definitions. You can check it out at Fortran Parser for SymPy. I spent all this time, multiple weeks, thinking about which methods should I use and what way should I do this and it all turned out great at last. The parser works well and only needs a little bit of finishing being able to be fully functional.

The Long Awaited Meeting


Finally, the meeting everyone’s been waiting for. As you all know if you have read the week 3 blog Go check it out if you haven’t already, last week’s meeting was postponed due to some work issues. So, everyone had to wait two weeks for *the meeting*.

Since the next week is the last week of Phase-1, it was discussed how to finalize and tidy up the PRs to have working prototypes ready to be merged. Here are some of the highlights of the meeting:

  • Make the Pull Requests merge ready
  • Complete the TODOs in the PR description
  • Discuss the general goal of the project is to convert to SymPy syntax, not to create a transpiler.
  • Discuss improvements in the testing of LFortran ASR
  • Set up all the dependencies in Travis to prepare for merging

What Now?


The coming week is evaluation week for Phase 1. So, the current plan is to make the Parsers ready to be merged and take the community feedback on what areas need improvement and how to do that. If you want to keep track of the progress of the Parsers, go check them out at C Parser and Fortran Parser

pull request

By the time we meet again next week, the Parsers would be ready to merge or already be merged. You will be able to use them and give me feedback on how to improve them at SymPy. Be sure to check them out.

In next week’s blog, I will be explaining how both the parsers work in detail for anyone who wants to understand my work. So, make sure you don’t miss out the next week’s blog. Also, be ready for the Drupal Camp Delhi 2019 blog tomorrow and the Arch Linux blog soon after.

Subscribe to the blog if you don’t want to miss any important updates