Hi Mark,

Mark H Weaver <m...@netris.org> skribis:

> l...@gnu.org (Ludovic Courtès) writes:
>
>> Mark H Weaver <m...@netris.org> skribis:

[...]

>>> * R7RS feature identifiers: r7rs, exact-closed, ratios, exact-complex,
>>>   ieee-float, full-unicode, windows, posix, unix, darwin, linux, bsd,
>>>   freebsd, solaris, i386, x86-64, ppc, sparc, jvm, clr, llvm, ilp32,
>>>   lp64, ilp64, big-endian, little-endian, guile, guile-2, guile-2.0
>>
>> I wonder how these are specified.  Does a *-kfreebsd-gnu build have
>> ‘freebsd’?  And ‘bsd’?  Do *-gnu* have ‘linux’ defined, even when Linux
>> isn’t used?  Does Cygwin have ‘unix’?
>>
>> And above all: are people going to write #ifdef __linux__ish code when
>> what they mean is #ifdef __GLIBC__ or even something different?
>
> Yes, this is a very good point, and one that should be raised with the
> R7RS working group.  The C library is usually far more relevant to user
> code than the kernel.  This strikes me as another instance of the
> widespread confusion that "linux" is an operating system, when in fact
> it is only a kernel.

Exactly, and it goes beyond the “GNU slash Linux” issue, as I illustrated.

> It would be a shame for this confusion to be codified into the R7RS.

Indeed.  If you’re following R7RS discussions, could you raise the
issue?

Thanks,
Ludo’.


Reply via email to