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

Ashley Yakeley ashley at semantic.org
Wed Sep 3 03:47:31 EDT 2008


David Menendez wrote:
> On Wed, Sep 3, 2008 at 2:53 AM, Ashley Yakeley <ashley at semantic.org> wrote:
>> It's worth mentioning that the current Data.Unique is part of the standard
>> base library, while hs-plugins is rather experimental. Currently Data.Unique
>> uses the "NOINLINE unsafePerformIO" hack to create its MVar. If hs-plugins
>> duplicates that MVar, that's a bug in hs-plugins. It's up to a dynamic
>> loader to get initialisation code correct.
> 
> Data.Unique describes itself as "experimental" and "non-portable". The
> Haskell 98 report includes NOINLINE, but also states that environments
> are not required to respect it. So hs-plugins wouldn't necessarily be
> at fault if it didn't support Data.Unique.

I found this:

"To solve this the hs-plugins dynamic loader maintains state storing a 
list of what modules and packages have been loaded already. If load is 
called on a module that is already loaded, or dependencies are attempted 
to load, that have already been loaded, the dynamic loader ignores these 
extra dependencies. This makes it quite easy to write an application 
that will allows an arbitrary number of plugins to be loaded."
<http://www.cse.unsw.edu.au/~dons/hs-plugins/hs-plugins-Z-H-6.html>

-- 
Ashley Yakeley


More information about the Haskell-Cafe mailing list