Module Initialisation? (was Re: [Haskell] (no subject))
Remi Turk
rturk at science.uva.nl
Sun Oct 17 12:53:00 EDT 2004
On Sun, Oct 17, 2004 at 05:11:02PM +0100, Ben Rudiak-Gould wrote:
> Remi Turk wrote:
>
> >It definitely sounds nice, but is it actually possible to generalize e.g.
> >MVar from "RealWorld" to "forall s" or are we always going to have to say:
> >
> >v <- unsafeIOToST (newMVar / newChan ... )
> >
> >
> I hadn't thought of that, but I don't think there's any problem with
>
> type MVar = STMVar RealWorld
>
> newMVar :: a -> ST s (STMVar s a)
> withMVar :: STMVar s a -> (a -> ST s b) -> ST s b
> ...
>
> For that matter it seems like we could (should?) have
>
> forkST :: ST s () -> ST s (STThreadId s)
> forkIO = forkST
>
> and so on.
>
> -- Ben
But what semantics would they have?
It cannot be the normal concurrency as
AFAIK runST is supposed to be deterministic.
Groetjes,
Remi
--
Nobody can be exactly like me. Even I have trouble doing it.
More information about the Haskell
mailing list