On Mon, Aug 21, 2000 at 12:53:00AM -0700, Simon Peyton-Jones wrote:
> It's more of the latter than the former. In fact, as my tutorial
> tries to show, Haskell is a great imperative and concurrent
> programming language. Indeed, you can regard the notes as part of a
> proposal to get these "bits round the edges" accepted as part of the
> beautiful core. The IO monad is in Haskell 98, but concurrency and
> exceptions are not. The Haskell community is rightly cautious about
> extending the language.
I think the FP community as a whole has realized that, while all
computation can be expressed in a "pure" functional way, not
everything we want to do with a computer can be so. After all, a web
server (the example in your paper) does far more than merely compute.
That being said, Haskell is the one language that I now desire to
program in, and that includes using the hackneyed, pedestrian
imperative style designs that occur to my mind. Wrapping that in a
monad works nicely, and still gives me all kinds of safety compared to
traditional solutions.
One think I'd like is a useful object model; by that I mean a way to
seamlessly represent objects with state: a nice syntax and so on.
There are probably all sorts of ways it could be done well.
> I'll consider rewording some of the introduction to give a less
> negative impression.
I think that it is fine the way it is.
--
-- Jeffrey Straszheim | A sufficiently advanced
-- Systems Engineer, Programmer | regular expression is
-- http://www.shadow.net/~stimuli | indistinguishable from
-- stimuli AT shadow DOT net | magic