Inspired by the incredible power of the C++ interpreter Cling
and its associated Jupyter kernel xeus-cling,
jfk-fling
is a prototype kernel that facilitates iterative and investigatory computing
using modern Fortran.
The purpose of the jfk-fling kernel is to speed up the learning of modern Fortran. A number of resources have been made available that build upon the jfk-fling kernel, some of which are listed below:
Please submit a pull request to add a link to any other jfk-fling notebook material.
This code is released under the MIT license, with copyright held by the individual contributors. See the list of contributors at https://github.com/pelson/jfk-fling/graphs/contributors.
This prototype was developed in support of learning modern Fortran, and it has been invaluable for that purpose. I am releasing this work in the hope that it can be useful to others who want to learn, or indeed develop learning resources for, modern Fortran.
As such, I do not intend to develop this kernel on an ongoing basis - anybody who wishes to do so may either fork the repository, or request merge access to this repository.
-
Whilst it may appear that cells are being executed iteratively, each cell is in fact an entirely independent execution environment. For example, suppose you have a long-running execution cell followed by a simple cell to print the results, it will result in the long-running code being executed twice.
-
In order to interpret the code we use fparser. Any limitations of parsing within fparser are therefore inherited, as well as some additional constraints on the source form.
- Cling
- fparser
- Jupyter
- jupyter-fortran-kernel & jupyter-c-kernel - the design of this kernel was significantly influenced by these implementations.
- xeus-cling