Re: Official Linux system wrapper library?

From: Paul Eggert
Date: Wed Nov 14 2018 - 13:13:13 EST


On 11/14/18 9:40 AM, Joseph Myers wrote:
Historically, there was once an attempt to rework POSIX into a separate
language-independent definition and language bindings (for C, Fortran, Ada
etc.), but I don't think it got anywhere, and it's probably doubtful
whether the idea was ever very practical.

That effort did produce IEEE Std 1003.5-1992 (Ada Bindings to IEEE Std 1003.1-1990), IEEE 1003.5b-1996 (Ada bindings for realtime extensions), and IEEE Std 1003.9-1992 (F77 Bindings to IEEE Std 1003.1-1992). The Ada group simply translated the POSIX standard from C into Ada, repeating functional text and coming up with a "thick" standard; in contrast the Fortran group did a "thin" standard that focused on Fortran mechanics and deferred underlying functionality to the main POSIX standard. The thin Fortran standard was harder to grok and was less successful in practice.

As you write, these efforts were probably not worth the trouble. Non-C language systems can provide a standard way to invoke C APIs, and then let user-level programmers have at it. The performance advantage of having a pure Ada/Fortran/etc. API for POSIX are so minor that it's not worth the major hassle of standardizing and using a language-independent POSIX API.