[plt-scheme] Plugin-based software
I think you probably want to have your plugins in modules and
dynamic-require them, instead of loading them. require (and
dynamic-require) is (are) designed to avoid exactly these kinds of
headaches.
Robby
At Fri, 2 Jun 2006 16:13:14 +0100, "Paulo J. Matos" wrote:
> Hi all,
>
> I'm trying to implement a simple plugin-based software. My first
> approach which quite didn't was to define a plugin as a plain scheme
> file where the last expression was a unit which imported a given
> signature. Then I have a master file which loads the plugin with
> 'load', composes the plugin unit with another main unit and invokes
> what it needs. Seems ok at first but the problem is that the plugin
> may require some lib functions so it start with a couple of
> 'require's. For some reason it runs ok inside DrScheme, but when I
> compile the main program and run it, it tries to load the plugin and
> then I get an error message along the lines:
> Couldn't find collection "srfi" in HOME/.plt-scheme... etc etc.
>
> Oh, well, so I though I should compile it. I did so using the
> compile-file and the I used 'load' again and load returns:
> compile: variable not provided (directly or indirectly) from module:
> mzbrain in: begin
>
> well, can't understand this. mzbrain is the main module. I'm just
> trying to load a files primefactor.pss.zo. Can't understand it's
> problem. Any guesses?
>
> --
> Paulo Jorge Matos - pocm at sat inesc-id pt
> Web: http://sat.inesc-id.pt/~pocm
> Computer and Software Engineering
> INESC-ID - SAT Group
> _________________________________________________
> For list-related administrative tasks:
> http://list.cs.brown.edu/mailman/listinfo/plt-scheme