[Haskell-cafe] Monad Input/Output and Monad Transformers

Gwern Branwen gwern0 at gmail.com
Thu Jul 2 17:26:06 EDT 2009

Hash: SHA512

On Thu, Jul 2, 2009 at 5:05 PM, Maciej Piechotka wrote:
> I'd appreciate the link - google find nothing. I fall in love in Haskell
> about a week or two ago and I fall in love just after I started learning
> it ;)

"Research programming languages like Haskell [22] and ML [20] didn't
seem to offer any near-term solution. Diatchki's work on fine-grain
representation in Haskell [25] is not yet main-stream, and had not yet
started when we began work on BitC. Support for state in Haskell
exists in the form of the I/O monad [23], but in our opinion the
monadic idiom does not scale well to large, complexly stateful
programs,1  and imposes constraints that are unnatural in the eyes of
systems programmers."

Oh, and not only do our monads not scale, they're slow to boot:

" Ultimately, the problem with Haskell and ML for our purposes is that
the brightest and most aggressive programmers in those languages,
using the most aggressive optimization techniques known to the
research community, remain unable to write systems codes that compete
reasonably with C or C++. The most successful attempt to date is
probably the FoxNet TCP/IP protocol stack, which incurred a 10x
increase in system load and a 40x penalty in accessing external memory
relative to a conventional (and less aggressively optimized) C
implemenation. [ 4 ,6  ]"


- --
Version: GnuPG v1.4.9 (GNU/Linux)


More information about the Haskell-Cafe mailing list