3 ms·
Has anyone read the section in Beautiful Code where one of haskell's designers talks about STM in haskell? I thought the code looked pretty neat. It is a very
by yters 18y ago
Has anyone read the section in Beautiful Code where one of haskell's designers talks about STM in haskell? I thought the code looked pretty neat. It is a very smooth serial semantic for parallel programming, and really fits the beautiful criteria.
Unfortunately, I've recently read that STM is turning out to have too much overhead in practical applications. Hope they figure it out.
- jerf 18y agoI've been waiting for a Haskell response to that STM article, because the STM article didn't pay any attention to Haskell at all. One criticism of the article fails in Haskell entirely (in Haskell, you don't get the problem of IO repeating if the transaction repeats, because you can't have IO in transactions (barring cheating)). I'd like to hear how their performance compares, and if it does have a lot of overhead, whether they think it'll ever come out. The fact that there wasn't one leads me to believe that they are susceptible to the same problems and have no hope of getting around it in the future, though; I suspect if that wasn't true, dons would have been all over the comments on proggit, and he was silent. It's thin logic, admittedly, but...
- yters 18y agoHmm, that's unfortunate. If successful, haskell's STM would really put it on the map.
- lincolnq 18y agoI've read Simon Peyton Jones's Beautiful Code excerpt (http://lambda-the-ultimate.org/node/1964 http://lambda-the-ultimate.org/node/1964 for those who need it), and it's very nice. I would be interested in the "too much overhead" article -- can you track it down? I've been researching STM for a while and seen a lot of papers focused on performance and such, so I'd be surprised if whatever the article claims are the problems are not fixable in the long term. (STM can be nearly reduced to "taking locks", especially if you are compiling, so it really shouldn't be worse than lock-based synchronization, and it's much easier to reason about.)
- yters 18y agoNo promises about tracking down the article, but I'll make sure you get it if I do.
- mad 18y agoHere you go: http://www.acmqueue.com/modules.php?name=Content&pa=showpage&pid=558 http://www.acmqueue.com/modules.php?name=Content&pa=show... The issue is that STMs have a lot of book-keeping overhead in addition to the locking.