At Mon, 12 Apr 2010 14:51:12 -0500, Robby Findler wrote:
> IIUC, .rkt is the default extension for module paths like (require
> planet/..../drscheme/dracula-state), ie those that do not have quotes.
Even if you have quotes, a ".ss" in a moule path is normalized to
".rkt"...
The essence of your answer is right on, though: the contract system is
printing the name of the enclosing module, not its implementation
source. Of course, the original intent was for those to be the same.
> Then there is some magic munging that goes on whereby a .ss file in
> the place where a .rkt file is expected happens.
It's in the compiled-load handler, which uses a ".ss" file if a ".rkt"
is to be loaded and no such file exists.
> I recall that
> Matthew, Matthias, Eli and I had a long discussion on the best way to
> accommodate such paths and this seems to be the best option.
Most of the discussion is here:
http://list.cs.brown.edu/pipermail/plt-dev/2010-February/002236.html
Where that initial message says "module-name' resolver, the
implementation turned out to be "compiled-load handler", instead.
I have an idea for how to make the printed form of a module name be the
implementation path, instead of the normalized module name, but I
haven't tried it, yet, and it got pushed a couple of levels down on my
work stack.