On 10/05/2010 03:59 PM, John Clements wrote:
A couple of weeks ago, you showed me the trick that rackunit uses to allow
single-instantiation of a modules. I'm now trying to do this
for a planet package, and it looks like I have to change the required module
from being a relative to being an absolute path. That is:
(require (prefix-in drlink: private/drracket-link))
I assume (hope) you meant
(require (prefix-in drlink: "private/drracket-link.rkt"))
for the relative require.
must become
(require (prefix-i
;; --
Another thing to consider, if you're going to be distributing this code
via PLaneT, is that users will have to restart DrRacket after installing
the package so the tool can take effect.
n drlink: (planet "drracket-link.rkt" ("clements" "rsound.plt") "private")))
This works, but seems extremely fragile. Does it make sense to you that this
would be required? Without it, I get the error below:
From what I recall, the call to namespace-module-attach must use the
correct absolute module path, but the require can be relative. I
confirmed that that's how the last PLaneT version of schemeunit that
included the tool (version (2 12)) did it.
It looks like you're using a PLaneT development link. Perhaps that's the
source of the problem?
How about dropping the following code into drracket-link.rkt so it
prints out its (absolute) resolved module path when it gets required
from the tool.
(eprintf "drracket-link.rkt = ~s\n"
(resolved-module-path-name
(variable-reference->resolved-module-path
(#%variable-reference))))
Ryan
_________________________________________________
For list-related administrative tasks:
http://lists.racket-lang.org/listinfo/dev