In the presence of _uncontrolled concurrency_, you are correct, but
uncontrolled concurrency is a failed paradigm littered with defective
software.
Regards,
John A. De Goes
N-Brain, Inc.
The Evolution of Collaboration
http://www.n-brain.net | 877-376-2724 x 101
On Aug 16, 2009, at 5:32 PM, Richard O'Keefe wrote:
On Aug 15, 2009, at 2:55 PM, John A. De Goes wrote:
If you don't like the file system, consider mutable memory. An
effect system will tell me I can safely update two pieces of non-
overlapping, contiguous memory concurrently, even in different
threads if the complexity so justifies it. The IO monad is a poor
man's solution to the problem of effects.
In the presence of out-of-order memory writes, write buffers,
caches, &c, I'm not going to contradict you, but it certainly
isn't as _obvious_ as it used to be.
I've come across an experimental microprocessor where I _think_
it isn't safe if you have
--------+---------
data 1 | data 2
----+--------+----
cache
line
whether that's so on any other processor is beyond my expertise.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe