[plt-scheme] On PLaneT packages and compatible upgrades

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Wed May 10 07:04:11 EDT 2006

What if we had a way to make exports version-specific?

For example, suppose my original module is

 (module m mzscheme
   (define x ...)
   (define y ...)
   (define z ...)
   (provide x y z))

For version 1.1, I add `w' and `q':

 (module m mzscheme
   (define x ...)
   (define y ...)
   (define z ...)
   (define w ...)
   (define q ...)
   (provide x y z)
   (provide-version (1 1) w q))

Then imports of "version 1.0 or higher" or the module would only import
`x', `y', and `z', while imports of "version 1.2 or higher" would also
get `w' and `q'.

Would that help solve the problem?

(I don't how to implement `provide-version', but that's a secondary


Posted on the users mailing list.