|
![](/i/fill.gif) |
On 18/08/2012 05:14 AM, Darren New wrote:
> On 8/16/2012 4:13, Invisible wrote:
>> Similar remarks go for most of your points. There are languages like
>> Erlang
>> where support for distributed processing is built-in. Haskell is not
>> such a
>> language.
> But that's not all it takes to make it do what Erlang does. Erlang isn't
> just "distributed processing." It's "reliable processing." Which means
> you need to be able to (for example) start a new version of the code
> running while not actually throwing away the stack of call frames that
> got you there
> How would you write a Haskell library that says "once each call to X
> returns, replace that thread's version of X with new executable code,
> without otherwise disturbing the thread that's running there"?
You wouldn't be able to do this for arbitrary code. But if you insert a
suitable layer of indirection, it wouldn't be too hard. Haskell supports
first-class functions, after all. You can do crazy things with stuff
like continuation-passing and so on.
Post a reply to this message
|
![](/i/fill.gif) |