Description
Currently the front page of stdlib
states:
stdlib is both a specification and a reference implementation. [...] if the Committee wants to standardize some feature already available in stdlib, it would base it on stdlib's implementation.
As I understand things, the Fortran committee has little to do with the actual implementation. Instead this is primarily a job of the compiler vendors (of course they are able to influence the standardization process to some degree). On the other hand the committee has everything to do with the specification which defines the interface and the behavior.
Since the introduction of submodules, the interface part, and the implementation (behavior) can be decoupled from each other. For the language users who are willing to use a compatible C/C++ compiler (meaning the majority of currently available compilers) this provides an opportunity to speed development efforts by interfacing with external libraries such as the C++ standard library, Boost, libm, and other respected sources, in order to converge to a specification faster.
The current work flow document asks contributors to present a draft Fortran implementation in stage 3. I am wondering if we could agree to a modified work flow that would allow contributors to still propose an experimental Fortran API, but draft the implementation in C or C++ potentially with external dependencies? A reasonable requirement for the routine to move out of experimental would still be a Fortran implementation, as an assurance that Fortran can "stand on it's own".
I realize this approach has many downsides, e. g. having to maintain a mixed Fortran/C/C++ repository, introduce a bunch of preprocessor commands and optional flags, increase the potential for memory leaks and C related bugs, and finally introduced unwanted dependencies to the project.