GSoC'22: Fortran Playground - Current Progress and Plans ahead

Greetings of the day everyone,
Over the last few weeks I have been working on the playground for Fortran. By Mid term we had succesfully achieved most of our targets. Here’s a list of things that the playground currently supports:

  1. Functional Playground able to run code
  2. Ability to provide inputs for program
  3. Basic tutorial - built upon the quickstart guide

I had to take a hiatus for 2 weeks due to personal reasons, giving a setback on the original timeline set. Followed by a week spent trying to figure out how to implement security constraints, due to local environment issues on my system. Following are the targets I’ve set to achieve over the next week.
1.Curriculum building for tutorial
2. Support for fpm.

Following this we will try to figure out the deployment for the playground so it’s accessible for everyone.
A UI revamp is also planned after this based on the templates we had decided at the start of the summer.

Please go ahead and check out the repo, all feedback is appreciated. Try to list out the issues that may arise while setting up the playground and any issues that arise while you use it.


I can also use support for building the curriculum, my current plan is to use the quickstart guide but trimmed down to focus only on the specifics and not an in-depth guide.
All suggestions for building a compact but informative tutorial is welcome, please list them out in this thread. If you wish you can also try to contribute to the repo, the tutorial is stored as a yaml find under the backend for the playground.

One of the TODO tasks for Modern Fortran has been to add Walkthroughs (see Add Walkthroughs · Issue #472 · fortran-lang/vscode-fortran-support · GitHub) which should probably include some intro to Fortran or a redirect to a Fortran intro tutorial. I am wondering if there is any potential overlap here. Also, we’ve had a bunch of internal discussions on pedagogical material for Fortran, which might be useful for the quickstart.

What file formats are you planning on using to write your quickstart guide?

Also, is it possible to deploy the playground using GitHub pages? It would make it a lot easier for people to test

1 Like

The quick start guide is currently stored as a yaml file which has options to add new titles and code and the description for them. This is then compiled into a json which is rendered by the frontend. That pull hasn’t been merged yet so I give it a day and it should work. You can check it out on my local fork.

We use a flask server to facilitate running the code, which is not really supported by github pages so that won’t be possible. Until we figure out the deployment, I’ll try to create a docker compose that makes it easy to set up a local environment.