Learning Haskell and FP

Theodore Norvell theo@engr.mun.ca
Mon, 08 Jan 2001 17:48:14 -0330


Erik Meijer wrote:

> Nope, I also think that Haskell is the world's finest *imperative* language
> (and the world's best functional language as well). The beauty of monads is
> that you can encapsulate imperative actions as first class values, ie they
> have the same status as functions, lists, ... Not many other imperative
> languages have statements as first class citizens.

It may be the only imperative language that doesn't have mutable variables
as a standard part of the language.  :-)

I do agree that Haskell has a lot of nice imperative features, but it
is also missing a few that are fundamental to imperative programming.

Personally, I'd love to see a language that is imperative from the
ground up, that has some of the design features of Haskell (especially
the type system), but I don't think that Haskell is that language (yet?).

A question for the list:  Is there a book that gives a good introduction
to Hindley-Milner typing theory and practice, and that delves into its
various extensions (e.g. imperative programs, type classes, record types).
I have Mitchell's book out from the library, but it seems a bit limited
with respect to extentions (I think it deals with subtypes, but not
type classes and mutable variables, for example).

Cheers,
Theodore Norvell

----------------------------
Dr. Theodore Norvell                                    theo@engr.mun.ca
Electrical and Computer Engineering         http://www.engr.mun.ca/~theo
Engineering and Applied Science                    Phone: (709) 737-8962
Memorial University of Newfoundland                  Fax: (709) 737-4042
St. John's, NF, Canada, A1B 3X5