[Haskell-cafe] Haskell not ready for Foo [was: Re: Hypothetical Haskell job in New York]

John A. De Goes john at n-brain.net
Thu Jan 8 13:14:18 EST 2009

There's a JavaScript binding to Java, and there's a Java binding to  
Erlang, so nothing's stopping you from using JavaScript nodes in a  
distributed fashion -- if you have a weird obsession with proving that  
JavaScript is well-suited for every task.

But really, what's the point? FFI code is fragile, often uncompilable  
and unsupported, and doesn't observe the idioms of Haskell nor take  
advantage of its powerful language features. Rather than coding  
through FFI, a messaging application is better off written in 100%  
Erlang, because the libraries are native there and so confer all the  
benefits unique to native libraries.

You can indeed fit a square peg in a round hole, if you pound hard  
enough. That doesn't mean it's a good thing to do.

Here's hoping someone develops a native messaging framework for  
Haskell, which is the equal of RabbitMQ.



On Jan 8, 2009, at 11:06 AM, Don Stewart wrote:

> wchogg:
>> On Thu, Jan 8, 2009 at 8:32 AM, John A. De Goes <john at n-brain.net>  
>> wrote:
>>> Haskell's networking support is very rudimentary. Erlang's is quite
>>> sophisticated. For network intensive applications, especially those
>>> requiring messaging, fault-tolerance, distribution, and so forth,  
>>> there's no
>>> doubt that Erlang is a more productive choice.
>>> Not because of the language, per se, but because of all the stuff  
>>> that is
>>> packaged with it, or available for it.
>> Now I understand that there aren't(?) any Haskell implementations  
>> that
>> can act as distributed nodes the way the Erlang implementation can,
>> but I'm not familiar enough with Erlang to understand what it has for
>> networking that the Haskell network packages don't have.  Could you
>> explain a bit further?  I've been thinking a lot about network
>> programming anyway lately & am looking for library opportunities.
> Note that there even exists an FFI binding to Erlang for Haskell, so
> that Haskell nodes can seamlessly interact with other nodes speaking
> Erlang's protocol format.
> There's nothing stopping you using Haskell nodes in a distributed
> fashion, and indeed there are groups doing this.
> -- Don

More information about the Haskell-Cafe mailing list