network I/O

Johan Henriksson johen at
Sat Apr 15 17:28:58 EDT 2006

I don't think I have meat enough to make a proposition but at
least I would like to give a heads up.

I find the current network I/O to be very hard to use for anything
more complicated like a server. Recently I ended up tossing out
all networking into C through FFI which works but is very inconvenient.

The problem is that the API does not support exceptions in a very
good manner but rather seems to have been written for very simple
programs for an "ideal world":

* Timeouts are messy to implement
* Blocking is hard to avoid if FFI is used concurrently
  (requires system threads)
* I do not know how well haskell scales compared to traditional languages
  like C with select() but this is am important aspect

I guess the most reasonable solution (doesn't break current programs)
is a new lower level interface that has been better planned to play
well with threads and FFI. since these topics are already on your table,
I think it would be good timing to look over the sockets interface.

- Johan Henriksson

More information about the Haskell-prime mailing list