[gambit-list] Loading object files...
Marc Feeley
feeley at iro.umontreal.ca
Wed Mar 4 13:59:11 EST 2009
On 4-Mar-09, at 11:30 AM, David St-Hilaire wrote:
> Hello all!
>
> I was wondering why the gambit interpreter complains about loading
> multiple
> times an object file (i.e. a compile .o1 file). It is pretty
> annoying not being
> able to reload a file that loads its required modules... :(
.o1 files can't be loaded more than once due to an OS limitation.
A .o1 file is a dynamically loadable shared lib (a "DLL" in Windows
speak) and many operating systems don't allow them to be loaded more
than once.
>
>
> What should I do instead? Load the requirements manually in the
> repl? This is
> not very convienient :( I could also just load the source file (load
> "module.scm") instead of the object file (load "module") but I would
> not benefit
> of compiled code perf...
It depends what you want to do... Why do you load them more than
once? It can't be because the code has changed, because a different
version (i.e. .o2, .o3, ...) would have been generated and then **you
can** load the code more than once. Perhaps you have an
initialization (in the Scheme code) that you want to redo because you
have mutated the binding after loading the file. Perhaps you can
abstract the initialization in a function and then call that function
to do the initialization. You could write your own version of load,
call it my-load, which keeps a table of what has been loaded and avoid
calling load on those files that are in the table, instead calling the
init function whose name would be derived from the file name.
In other words its your problem!
Marc
More information about the Gambit-list
mailing list