Multithreaded stateful software

Joe English jenglish@flightlab.com
Mon, 28 May 2001 09:21:47 -0700


Mark Carroll wrote:

> One of the projects I have coming up is a multi-threaded server that
> manages many clients in performing a distributed computation using a
> number of computers. [...]
>
> (a) This really isn't what Haskell was designed for, and if I try to write
> this in Haskell I'll never want to touch it again.
>
> (b) This project is quite feasible in Haskell but when it's done I'll feel
> I should have just used Java or something.
>
> (c) Haskell's monads, concurrency stuff and TCP/IP libraries are really
> quite powerful and useful, and I'll be happy I picked Haskell for the
> task.

There's also:

  (d) You end up learning all sorts of new things about distributed
  processing (as well as Haskell) and, armed with the new knowledge,
  future problems of the same nature will be easier to solve
  no matter what language you use.

That's what usually happens to me.

(Personally, if I had this project coming up, I'd use it
as an excuse to finally learn Erlang...)


--Joe English

  jenglish@flightlab.com