Hello, Mark H Weaver <m...@netris.org> skribis:
> * bytevectors in core R7RS What does it mean? That bindings are available by default? [...] > * bytevector-copy! with 3 args > * bytevector-copy-partial{,!} [...] > * R7RS binary ports and bytevector ports > * {textual-binary}-port? > * binary-port? > * open-binary-{input,output}-file > * open-{input,output}-bytevector > * get-output-bytevector > * {read,peek,write}-u8, u8-ready? > * read-bytevector{,!} > * write-bytevector > * write-partial-bytevector Seems to be that, following R6RS’ lead, R7RS decided to come up with new APIs that are close to, but slightly from, existing APIs. :-/ [...] > * 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? Thanks, Ludo’.