On Tue, Jul 18, 2017 at 5:48 AM, William D Clinger <xxxxxx@ccs.neu.edu> wrote:

For one thing, it refers to "the Posix or C99 standards",
which do not include the Bessel functions.

The SRFI now says that they are XSI extensions.
More importantly,
the four procedures listed above return two values, which is
not possible in C.  Taking the sentence seriously would require
programmers to pass an extra argument to those procedures, as
in their C versions, and the second result would be returned
by modifying that extra argument.

The notion that a mere difference in marshaling conventions is in any way equivalent to the flround discrepancy is absurd.  The C procedures in question *do* return two values, using the regular C convention for doing so.

What's really going on in SRFI 144 is that the references to
C equivalents, as described by Posix, C99, or XSI, are informative
only; for more precise definitions, users and implementers must
consult the prose of SRFI 144.

The said prose is underspecified and deliberately so.

You can think what you like, say what you like, and do what you like on this point, but your implementation is tested against the behavior of libraries that conform to Posix/C99. and therefore amounts to a concession that (with the exception of flround), Posix/C99 is the prevailing standard.

John Cowan          http://vrici.lojban.org/~cowan        xxxxxx@ccil.org
In politics, obedience and support are the same thing.  --Hannah Arendt