[plt-scheme] backwards compatibility and planet libraries
> No. If you require functionality that wasn't added until, say, version
> 1.6, you can specifically require that you get library version 1.6 or
> above:
>
> (require (planet "file.ss" ("somebody" "somebodys-library.plt" 1 6)))
Does that really have the behavior of requiring 1.6 *or above*, or
exactly version 1.6? In other words, if at some point later on, version
1.7 becomes available, will the module written as above still use 1.6?
> Even if you've got versions 1.0 through 1.5 installed locally, planet
> will fetch version 1.6 to satisfy this request (though if you ask for
> version 1.3 or above and it has version 1.6 it'll give you the local
> version 1.6, of course).
Is this only the first time the module gets invoked? I thought the
behavior of planet was that once it associates a client module with a
particular minor version of the library, it's stuck with that version
once and for all (see the section "Previous linkage" under "The PLaneT
search order" in the planet docs).
I've been concurrently developing a number of planet libraries that
require each other, and rather than constantly having to update all the
clients of one library every time I post a bug fix, I've been leaving
out the minor version in the `require's. But I still end up having to
clear the linkage table and rerun setup-plt every time I update a
library to a newer minor version. I confess I don't really understand
the "magic upgrade" comment in the docs.
Dave