Repeated hs_init()/hs_exit()

John Meacham john at repetae.net
Tue Jan 28 18:17:00 EST 2003


I personally would like to see both work. I have done some work with
dynamically loaded modules implemented in haskell and being able to do
the iterated initializations seems important. there was talk that this
would be difficult given the current state of GHC's RTS, I am not sure
what the conclusion was. 

my vote was to put it in the spec that it should work and have GHC
document that it is nonconforming in that manner until its
implementation catches up.

	John


On Tue, Jan 28, 2003 at 03:54:10PM -0000, Simon Marlow wrote:
> I'm implementing the latest hs_init()/hs_exit() interface in GHC, and
> came across an ambiguity or omission in the spec.  We're clear that this
> sequence should be allowed:
> 
>   hs_init(..)
>   hs_init(..)
>   hs_exit()
>   hs_exit()
> 
> but what about
> 
>   hs_init(..)
>   hs_exit()
>   hs_init(..)
>   hs_exit()
> 
> That is, should the Haskell system be able to start itself up again
> after shutting down?  It looks like this is desirable from a modularity
> viewpoint: eg. a C program initialises library A which uses Haskell
> internally, then de-initialises library A, then initialises library B
> which also uses Haskell internally.
> 
> Unfortunately, this is going to require quite a bit of extra work in GHC
> to get right, and it looks like I'm going to have to examine a lot of
> code to make sure it is "double-init-safe".  Thoughts?
> 
> Cheers,
> 	Simon
> 
> _______________________________________________
> FFI mailing list
> FFI at haskell.org
> http://www.haskell.org/mailman/listinfo/ffi

-- 
---------------------------------------------------------------------------
John Meacham - California Institute of Technology, Alum. - john at foo.net
---------------------------------------------------------------------------



More information about the FFI mailing list