On Thu, Oct 9, 2008 at 1:50 AM, roger peppe
<rogpeppe@gmail.com> wrote:
On Thu, Oct 9, 2008 at 9:15 AM, Ryan Ingram <
ryani.spam@gmail.com> wrote:
> I don't think what you want is possible if both sides are in STM.
> Other authors have posted solutions where one side or the other of the
> transaction is in I/O, but wholly inside STM it's not possible.
Thanks, that's what I thought, although I wasn't sure of it, being
new to both Haskell and STM.
Presumably this result means that it's not possible to implement
any bounded-buffer-type interface within (rather than on top of) STM.
Isn't that a rather serious restriction?
I don't know that it's practically-speaking that serious. One can write it in IO, using STM. I think of CSP as I/O anyway, but perhaps my thinking is flawed and dirty from MPI and Erlang "message passing" :-).
Then again, I'm not sure why keeping it in STM is even valuable really. IO gets the job done right?