Does a Fortran equivalent to cppreference exist?

I’m doing a project in C at the moment (which will be useful to Fortran eventually). I’m finding this site extraordinarily helpful: C/C++ Reference.

I’m sure most are aware of it. It is a hypertext dictionary of available functions and important language concepts organized by year of revision.

Is there any way to produce something similar for Fortran, even if it only goes back to 1990?

The format is different, but two resources are

gfortran manual

man(3) pages for Fortran Intrinsics

Both list the standard in which an intrinsic procedure was introduced.


The GFortran intrinsic procedure docs are not up to date. They still use the d suffix for double-precision procedures, which are obsolete. This could be misleading because I saw people using these suffixes on stack overflow questions.
ACOS (The GNU Fortran Compiler)

I don’t see anything wrong with the gfortran documentation. The page for ACOSD states clearly “This function is for compatibility only and should be avoided in favor of standard constructs wherever possible.”

Under the “standard” section, it’s also marked as a GNU extension.

Considering Fortran has multiple compilers, it would be attractive to have the reference materials agnostic to specific implementations.

Would it be possible to develop something similar from the publicly available references?

Yes, see this PR: Fortran Intrinsics by urbanjost · Pull Request #347 · fortran-lang/ · GitHub, we need help with finishing it and merging it and maintaining it as a community.

@R_cubed, @fortran4r: would you have some time to help? If so, that would be very appreciated; we can brainstorm how to best move forward.

1 Like

@certik: I’m planning on it. I don’t want to discuss too much now, but I’m working on:

  1. Being able to use javascript/node.js visualization libraries (D3, Vega, Vega-Lite) with Fortran, C, or C++.

  2. Fortran bindings for C-based stats/modelling package based upon Gnu Scientific Library.

I’ll be posting when I have an MVP ready.