Fortran Compiled to WebAssembly
github.com
github.com
> While you were reading this article, the test scripts have already run. So open up the developer console and check it out!
That was really slick.
But note that technically speaking the current approach also uses the LLVM wasm backend (after doing all the above, it uses the LLVM wasm backend to compile LLVM IR to wasm).
Or is this project more of a "I did it because it was there and I can" (which is certainly a good reason as well)
I would love to see some fluid dynamic work run in a web browser, but ... You need the WebAssembly to be able to vectorize and optimize it: See Airvisual.com
or
Passing around variable length arrays and arrays with a variable number of dimensions is much easier than C. You don't need to worry about making your own interface around blocks of memory or macros to do this sort of routine thing.
Bounds checking is standard in every Fortran compiler.
Fortran does what its name implies: FORMula TRANslation of math code without a lot of noise.
Yes, 50 year old Fortran code can be hard to read. But, there are tools that can statically 'modernize' it if you really need to do maintenance on it.
Maybe you have a math library in there worth putting into wasm.
I guess the performance hit is similar to the one C and Rust take? In the order of 10x slower IIRC? How does a Fortran-written (better optimized) library compare to a C-written one? Is the WASM overhead enough to nullify the performance difference? Are the original optimizations well translated to WASM?
Ah, that's right. There's a ton of scientific software in FORTRAN.