loading modules
rdt@cs.queensu.ca
rdt@cs.queensu.ca
Thu, 06 Dec 2001 14:11:10 -0500
> * When you evaluate an expression in the interpreter, it has to use some
> symbol table for looking up the ids you use. What symbol table does it use?
> The only credible alternatives are:
>
> * The export list of the "current module" (see :module command)
> * The symbol table of the "current module"
>
> Hugs uses the latter (which seems more useful) but you might reasonably
> expect Hugs to use the export list and wonder why Hugs doesn't seem to
> implement abstract data types correctly when you do experiments from the
> command line.
This begs the question of exactly what it means to "load modules". The Hugs
documentation AFAIK seems to assume it's self-evident. But, as the "not a bug
it's a feature" message above makes clear, it isn't, even when just a single
module is loaded. I would have thought module loading could be defined in terms
of something *in* Haskell (as did presumably the bug reporters the message is
responding to); but at the moment the best that could be said is that module
loading is an undocumented hack.
Bob T.