[mercury-users] declarative kernels
Thomas Conway
conway at cs.mu.OZ.AU
Wed Mar 8 21:58:33 AEDT 2000
On Wed, Mar 08, 2000 at 09:33:21PM EST, Gustavo A. Ospina wrote:
>
> >In my interpretation io__write is implemented as
> >
> > io__write(X, State0, State) :-
> > io__delay(State0, State1),
> > io__really_write(State1, State2),
> > io__delay(State2, State).
> >
> >and the effect of other programs modifying the world state between the
> >two calls to io__write does not mean that IO1 has two different
> >values at different times, it just means that inside the second
> >call to io__write, the value of State0 is not the same as State1.
>
> Ok, it's clearer for me now. This means the "precise instant" where the
> state is passed between the two io__write in my example is "atomic", there
> are not change of state in the transition.
>
> io__delay can be seen like a relation between two "pictures" of the outside
> world, taken in two different times. What is required is the picture of the
> world that is passed in the transition between two IO operations should be
> the same.
>
> Spawn threads would be an operation where the current picture of the world
> is given to the new threads. It can seem a duplication of the world, but
> it's not the case (just the pictures are duplicated). A model of
> concurrency with this model of IO should just assure that the global
> picture in the world is effectively passed between two IO operations, for
> every thread (there are a serialization, way the IO interactions).
>
> In the model of io__state as list of interactions, it seems to me that the
> io__state is effectively duplicated when spawn threads, but i'm not totally
> sure.
>
> BTW, I can't find references for 'spawn' when searching the mailing list.
>
If you look in the Feb 2000 section of the *developers* mailing list
at the bottom you'll see a thread titled
[m-dev.] for review - new stuff for the extras directory.
That's the thread you want.
--
Thomas Conway )O+ Every sword has two edges.
Mercurian <conway at cs.mu.oz.au>
--------------------------------------------------------------------------
mercury-users mailing list
post: mercury-users at cs.mu.oz.au
administrative address: owner-mercury-users at cs.mu.oz.au
unsubscribe: Address: mercury-users-request at cs.mu.oz.au Message: unsubscribe
subscribe: Address: mercury-users-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------
More information about the users
mailing list