[plt-scheme] Easy module switching?
> I do have sympathy for your desire. I have run into the exact same
> problem myself twice over the past year:
One more example: replacing FrTime with the lowered (optimizing)
version of FrTime. Because the optimization speeds up programs in
most but not all cases, we want the user to be able to choose. Because
lowering really is an optimization (in the sense that it provides no new
primitives nor takes away any existing ones), the interface exported by
FrTime and by FrTime-with-lowering is just the same.
The GC-in-Scheme example is a more complex instance of this, where
you want to parameterize: there is a "GC framework" module, which is
parameterized over the "GC implementation" module (where the impl
might be mark-and-sweep or semispace-copying or ...), and you want
to externalize that dependency (because all export the same interface).
Scott's dissertation shows how you can achieve this, but I don't know
what the status of that code is....
Shriram