On Wed, Nov 4, 2009 at 7:11 AM, Edsko de Vries <edskodevr...@gmail.com>wrote:
> > On 4 Nov 2009, at 13:36, Alberto G. Corona wrote: > > Artyom. >> >> I know what uniqueness means. What I meant is that the context in which >> uniqueness is used, for imperative sequences: >> >> (y, s')= proc1 s x >> (z, s'')= proc2 s' y >> ..... >> >> is essentially the same sequence as if we rewrite an state monad to make >> the state explicit. When the state is the "world" state, then it is similar >> to the IO monad. >> > > Yes, as long as there is a single thing that is being updated there's > little difference between the state monad and a unique type. But uniqueness > typing is more general. For instance, a function which updates two arrays > > f (arr1, arr2) = (update arr1 0 'x', update arr2 0 'y') > > is easily written in functional style in Clean, whereas in Haskell we need > to sequentialize the two updates: > > f (arr1, arr2) > = do writeArray arr1 0 'x' > writeArray arr2 0 'y' > Those sequential updates can be run concurrently on both, just with different syntax though right? > > You can find a more detailed comparison in my thesis ( > https://www.cs.tcd.ie/Edsko.de.Vries/pub/MakingUniquenessTypingLessUnique-screen.pdf, > Section 2.8.7). > > -Edsko > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe >
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe