Maxime Devos <maximede...@telenet.be> writes:
> ```
> #!r6rs
> (library (foo)
>    (export foo)
>    (import (rnrs base))
>    (define foo
>      (cons 'a 1)))
> ```
> Here you are demonstrating how R6RS libraries have the _same_ problem. You 
> should at least have included a version number next to (rnrs
> base). Who knows, maybe R8RS will rename ‘cons’ to ‘make-pair’?

Keep in mind that adding a version number does not resolve
backwards compatibility. It just moves it so source maintenance instead
of package maintenance — and then adds more complexity in keeping the
system compatible with different versions of itself.

You’ll then have to test every version of Scheme with every other
version, else you get breakage the moment a library updates to a newer
version of Scheme while another is still on the old version.

You can use methods to shift the load of backwards compatibility to
different groups, but you cannot remove it.

Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein,
ohne es zu merken.
draketo.de

Attachment: signature.asc
Description: PGP signature

Reply via email to