Maxime Devos 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