
Short answer: no, and what it gives is quite different.
Long answer:
Erlang gives me two things that are hard to replicate:
1. firm-realtime performance, even at high load: the distributed GC is very
nice
2. a very well defined model for handling, and recovering from failure
Hot code reload is nice, but is mostly used as a bandaid for the multitude
of bugs present with dynamic typing and a "let it crash" (minimal defensive
programming, let process isolation handle bad cases by failing) approach.
So it's absence in Haskell doesn't bother me.
1 is a personal preference that's been useful in a couple of projects. It's
application specific and probably not a factor for most people, I just had
a chance to enjoy it.
2 is solved in Erlang via techniques and know-how built up from years of
practice and testing. High level abstractions like supervision trees,
restart types, and gen_servers are well known. Most importantly, the
correct way to use them to build robust systems is well known. This is
definitely duplicateable, it just needs some time and lots of testing to
reach the same level of trust I've got for Erlang.
My Haskell code is mostly total, and avoids failure-in-the-small (stupid
bugs) amazingly well.
My Erlang code is an onion of recovery points, and avoids
failure-in-the-large (hardware/link failures, nasty corner cases) amazingly
well.
CloudHaskell looks like it provides the fundamental abstractions needed to
start building the onion, and bring Erlang's robustness to Haskell. Getting
to the same point will take time and effort, but I think is possible.
On Thu, Nov 3, 2011 at 9:09 PM, Ryan Newton
I have interfaced Erlang and Haskell... And delivered it as a product. I just came up with a dead-simple text based communication syntax from Erlang to Haskell that was very easily testable. It allowed for complete isolation
Interesting. I can't imagine there are too many people who have done this. So I must ask -- given the explicit attempt to imitate Erlang in recent CloudHaskell work, does that come close to giving you everything you would have wanted in this app?
(Hot code update being the big missing piece.)
Cheers, -Ryan
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe