l...@gnu.org (Ludovic Courtès) writes: > Mark H Weaver <m...@netris.org> skribis: > >> * bytevectors in core R7RS > > What does it mean? That bindings are available by default?
Yes. >> * 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. It would be a shame for this confusion to be codified into the R7RS. Thanks, Mark