Out of general curiosity I'm still trying to figure out how a dynamic plugin system would work. So now I'd like to namespace-attach-module for all modules that the current module imports (and their submodules), and then namespace-require them.
The problem is that I don't know how to attach modules required by relative paths and with prefix-in, because I don't know their symbolic name (if they have one). What I'm attempting is this: (require racket/gui/base racket/runtime-path gregor (prefix-in internat: "../core/internat.rkt")) (define-runtime-path notetaker "../notetaker/notetaker-main.rkt") (define notes-panel% (let ([ns (make-base-empty-namespace)]) (namespace-attach-module (current-namespace) 'racket/gui/base ns) (namespace-attach-module (current-namespace) 'gregor ns) (namespace-attach-module (current-namespace) "../core/internat.rkt" ns) (parameterize ([current-namespace ns]) (namespace-require 'racket/gui/base) (namespace-require 'gregor) (namespace-require "../core/internat.rkt") (dynamic-require notetaker 'notes-panel%)))) where the respective require for internat is left out in notetaker-main.rkt, since the dynamically required module needs the instance of the module *from the calling module's namespace*, not a separate copy. But this fails for "internat.rkt" - and it also will not create the right module path in the compiled distribution binary, it seems. Is there an internal symbolic name for the module required with prefix-in and relative path? Best, Erich -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.