GSOC 2022 - LFortran - Implementing Generics Final report - Oshanath Rajawasam Mentors : Ondřej Čertík, Gagandeep Singh Overview This project was about implementing generics for LFortran. This project was implemented parallelly to the same project on LPython, so a lot of the same code is reused. The LPython counterpart was developed by Luthfan Lubis and it has progressed further than this project. Reason for the Project Functions and subroutines in Fortran have specific parameter types and return types associated with them. Since LFortran, at its core, is the same as Fortran, this is also the case for LFortran. This can be problematic when the application demands template-like structures. For example, when implementing a function to add 2 numbers, with current tools available, we would have to implement the same function for all data types it is intended to be used. But with templates, we can define the function once, and use it with any data type we w...
2022-06-18-progress report 1 This week I forked the LFortran repository and compiled it to generate some AST and ASR to inspect how they are generated. I also managed to take a look at the previous implementation of generics, a Merge Request made by Ondřej Čertík ( https://gitlab.com/lfortran/lfortran/-/merge_requests/1664 ). I will try to complete this Merge Request to get generics syntax working in LFortran as my first task. Due to exams in my school, I couldn't get much work done this first week. I will be done with them in a few weeks time, until when my output will be lower than my actual capabilities.
2022-08-19-progress report 10 This week I converted my PR Merging function and TemplatedFunction by Oshanath · Pull Request #90 · lfortran/lfortran (github.com) into a mergeable state by cleaning the history and updating the reference tests to reflect the changes to ASR and AST with instantiation. Then the PR was merged.
Comments
Post a Comment