4 ms·
Can anyone comment on writing erlang style apps in Haskell? Haskell appears to have many of the required ingredients: Cheap multi threading, immutability and t
by boothead 14y ago
Can anyone comment on writing erlang style apps in Haskell?
Haskell appears to have many of the required ingredients: Cheap multi threading, immutability and the Cloud Haskell[1] framework, with the added benefits of speed and the awesome type system.
I currently use eventlet and ZeroMQ in python to emulate a similar (and probably crappier) style of writing message passing concurrency apps. With the addition of protocol buffers this type of architecture is easily applicable to a multi language set up. I'd be very interested to see what others are doing.
Has anyone who's used erlang tried playing with Haskell in the same role?
[1] https://github.com/jepst/CloudHaskell https://github.com/jepst/CloudHaskell
- jlouis 14y agoYep, see my Combinatorrent and eTorrent projects, respectively. The long story short is here: http://jlouisramblings.blogspot.com/2010/04/haskell-vs-erlang-for-bittorent-clients.html http://jlouisramblings.blogspot.com/2010/04/haskell-vs-erlan...
- boothead 14y agoThanks for the link, I remember reading it a while back. Have you played with the cloud haskell stuff at all? I seems you were able to achieve most of what you wanted with STM channels for combinatorrent - do you think that the presence of cloud haskell might have made any difference?
- jlouis 14y agoCloud Haskell came after my work, so I do not know how it fares. I remember that I saw it and thought that there were neat ideas in there. My guess is that it would simplify the amount of work I had to do in code since CH would subsume many of my lines.
- dons 14y agoThey're targetting slightly different points on the power/safety spectrum. * Erlang: fault tolerance, distributed systems, absolute performance less important. * Haskell: correctness important, multicore+shared memory performance a main focus, distributed systems less of a focus (cloud haskell) I wouldn't write my webserver in Erlang, for example, but my distributed object store, that's another story.