Questions about Fortran software tools

Well, I think it can in practice. A lot of things are now designed and running on Python, which does not have an ISO committee.

Both models can work.

I would say the standards committee is needed once you start having multiple solid compilers. That is why Fortran created one. I know that Python has PyPy, Jython, IronPython, Cython and other interpreters and compilers, but in practice the main interpreter is CPython. So they don’t need an ISO committee.

However, the Fortran committee must be more flexible. That is the main issue I have with it. Not that it exists.

4 Likes

Given the discussion of Web Assembly here, what’s the state of Fortran and WASI? Will Flang compile Fortran to WASI Web Assembly? I know the wasi-sdk uses LLVM, so I feel like it’s close if not already there.

Hello @certik! I just tried to use lfortran, compiled from the latest source, using it with --target wasm32 -o output.o, but it says LFortranException: No available targets are compatible with triple "wasm32". How can I give WebAssembly a try? Specifically, I’d like to use Wasi so I could use Fortran with Enarx.

Edit: Just realised the merge request was closed and not added, my mistake. I see a green checkmark on the icon in my browser tab, so I thought it was added. Still interested though!

1 Like

It was closed by the author and gitlab doesn’t allow me to reopen it when the author deleted his account. Anyway, we definitely want this in. If you are interested in helping out, I can get it up and running again. We can meet over video to work on this together if you are interested.

1 Like

Yes, I’m definitely interested and wanting to help. I’m coming at this from a WebAssembly interest, and as a total newbie to Fortran. I do prefer GitHub, if possible, but not required.

1 Like

Awesome, thanks @rjzak! Let’s get it done, I sent you a private message. We got LFortran to generate WASM, and we also got LFortran itself to run in the browser (although without the LLVM backend, as LLVM is tough to bring to WASM ---- we might need to write our own WASM backend in LFortran that does not use LLVM, for this reason).

1 Like