4 ms·
It would be interesting to see what it takes to get this functionality (at least locally) into Haskell given that there are asynchronous exceptions... even ones
by tel 12y ago
It would be interesting to see what it takes to get this functionality (at least locally) into Haskell given that there are asynchronous exceptions... even ones with arguably greater safety than their Erlang compatriots.
A similar effort is happening with the Cloud Haskell program, but my understanding is that they're pouring a lot of effort into transmitting arbitrary Haskell functions over the wire between computers. This is pretty unnecessary for supervision and "Let it Crash"-style error handling alone.
- jeremyjh 12y agoThat is a core primitive in Cloud Haskell but not the only one - you also send and receive data as in Erlang. distributed-process-platform provides Erlang style supervisors, gen_server, etc. It's all there and very much captures the features and spirit of OTP in a powerful static type system.
- tel 12y agoI'll definitely give it another look. I may have just misunderstood where the effort was being spent.
- coolsunglasses 12y agoYou may be thinking of the statics stuff being done with GHC 7.10.
- tel 12y agoI think I just missoveremphasized the importance of a particular paper on it that I read.
- thinkpad20 12y agoOh, that's a bit disappointing. I thought Cloud Haskell was focused on developing actor-pattern abstractions like lightweight, concurrent threads and fault tolerance. Serializing functions seems like a real red herring.
- jeremyjh 12y agoYou can totally do that in Cloud Haskell - serializing functions can be useful too but it's not the draw for me.
- exo762 12y agoSomewhat different, but there is an attempt to implement BEAM in Haskell: https://github.com/gleber/erlhask https://github.com/gleber/erlhask This problem (sync/async) is one of the things that is being solved in this project.