Dean | From Simon Marlow's reply, I gather that the current | implementations of Concurrent Haskell provide "concurrency" | but not "parallelism", and that provision of parallelism is | not likely in the near term.
That's more or less right. The trouble is that for shared-memory parallelism - you take a performance hit for fine-grain locking - so you need real parallelism to recover that performance All the pieces are there in GHC, mostly implemented; but making it all really work, really reliably, and somewhat portably, is a non-trivial task... and the reward (as I say above) can be elusive. | I've asked these questions in order to convince myself that | multiple threads can (and will) cooperate in lazily | evaluating a value they share, without need for any special | programming. In particular, I plan to have multiple threads | share values whose computations involve uses of | `unsafePerformIO` (the safety of which my application's usage | pattern guarantees). Do make sure you understand Concurrent Haskell (I'm sure you do), which is specifically about multiple threads each of which can perform I/O. (See "Tackling the awkward squad" on my home page.) You are on thin ice with unsafePerformIO, especially when concurrency is involved. Simon _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell