[plt-scheme] Best place to install custom current-module-name-resolver?

From: Derick Eddington (derick.eddington at gmail.com)
Date: Fri Apr 11 12:19:48 EDT 2008

On Fri, 2008-04-11 at 07:33 -0600, Matthew Flatt wrote:
> To support R6RS programs, its better to change the R6RS library
> resolution process, which is in "collects/r6rs/private/parse-ref.ss".

Since MzScheme allows MzScheme-language modules to require R6RS
libraries, I was thinking `require' could find them the same way as if
they were imported by R6RS code, but it makes sense that in a
MzScheme-language context you're operating by MzScheme rules.

> At the same time, if it turns out that you can edit and use the same
> files directly when developing with multiple implementations (by
> setting enough environment variables, always using `#!r6rs', etc.), I
> can see why the load-time search for ".mzscheme.ss" could be more
> convenient.

Yeah, ease and consistency of managing libraries across implementations
is the motivation.  Libraries should be under some organizing top-level
namespace, which of course fits in with the collections design, so I've
just been symlinking my R6RS libraries' top-level directories into my
personal or global collects directory.  Though I did have to tediously
re-edit a bunch of files to add #!r6rs.  Maybe `plt-r6rs --install'
could have an option to use symlinks instead of copying, while still
adding #!r6rs if needed?

> So, if you can create a patch to "parse-ref.ss" (and probably
> "find-version.ss") to search for ".sls", ".mzscheme.sls", and
> ".mzscheme.ss", I'll apply the patch.


: Derick

Posted on the users mailing list.