[Haskell-cafe] RE: [Haskell] Top Level <-

Sittampalam, Ganesh ganesh.sittampalam at credit-suisse.com
Wed Sep 3 04:45:31 EDT 2008


Ashley Yakeley wrote:

> Sittampalam, Ganesh wrote:
> > I am suggesting that this duplication process, whether conducted by 
> > the dynamic loader or something else, should behave as if they did
not 
> > have the same package name or version.
> 
> > This is certainly a valid transformation for Data.Unique, I am
simply 
> > saying that it should be a valid transformation on any module.

> So if I dynamically load module M that uses base, I will in fact
> get a completely new and incompatible version of Maybe, IO, [], 
> Bool, Char etc. in all the type-signatures of M?

I think it treats them as compatible, using the fact that 
Data.Typeable returns the same type reps (which was why I initially
mentioned Data.Typeable in this thread). This is fine for "normal"
modules. There's a bit of description in the "Dynamic Typing" section of
http://www.cse.unsw.edu.au/~dons/hs-plugins/hs-plugins-Z-H-5.html#node_s
ec_9

It's clearly the wrong thing to do for Data.Unique and any anything
else that might use <-; but if there are no such types in the interface
of the plugin, then it won't matter. I can't see how to make it
safe to pass Data.Unique etc across a plugin interface without
severely restricting the possible implementation strategies for
a plugin library and its host.

Ganesh

==============================================================================
Please access the attached hyperlink for an important electronic communications disclaimer: 

http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html
==============================================================================



More information about the Haskell-Cafe mailing list