Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pelson/jfk-fling
A Jupyter kernel for Fortran, inspired by the xeus-cling project for C++
https://github.com/pelson/jfk-fling
educational fortran interactive jupyter jupyter-kernel repl
Last synced: about 1 month ago
JSON representation
A Jupyter kernel for Fortran, inspired by the xeus-cling project for C++
- Host: GitHub
- URL: https://github.com/pelson/jfk-fling
- Owner: pelson
- License: mit
- Created: 2019-02-09T04:59:57.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2019-02-12T16:01:26.000Z (almost 6 years ago)
- Last Synced: 2024-11-01T03:02:49.773Z (3 months ago)
- Topics: educational, fortran, interactive, jupyter, jupyter-kernel, repl
- Language: Python
- Size: 345 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Jupyter Fortran Kernel
Inspired by the incredible power of the C++ interpreter [Cling](https://github.com/root-project/cling)
and its associated [Jupyter](https://jupyter.org/) kernel [xeus-cling](https://github.com/QuantStack/xeus-cling),
``jfk-fling`` is a [prototype](#Limitations) kernel that facilitates iterative and investigatory computing
using modern Fortran.[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/pelson/jfk-fling/stable?filepath=notebooks%2Fintroduction.ipynb)
## Materials designed for the jfk-fling kernel
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:* [Introduction to jfk-fling]()
* [Fortran 90 with jfk-fling]()
* [Object-oriented programming with jfk-fling]()
* ...*Please submit a pull request to add a link to any other jfk-fling notebook material.*
## License
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.## A note on maintenance
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.## Limitations
* 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](https://github.com/stfc/fparser). Any limitations
of parsing within fparser are therefore inherited, as well as some additional constraints on the source form.## Inspiration
* [Cling](https://github.com/root-project/cling)
* [fparser](https://github.com/stfc/fparser)
* [Jupyter](https://jupyter.org/)
* [jupyter-fortran-kernel](https://github.com/ZedThree/jupyter-fortran-kernel) &
[jupyter-c-kernel](https://github.com/brendan-rius/jupyter-c-kernel) - the design of this kernel was significantly influenced by these implementations.
* [xeus-cling](https://github.com/QuantStack/xeus-cling)