Adam Turoff on 22 Mar 2005 18:31:28 -0000


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: Learning Haskell


On Tue, Mar 22, 2005 at 11:41:13AM -0500, Brian McGraw wrote:
> >>> waltman@pobox.com 03/22/05 10:37AM >>>
> >Jim asked me at the meeting last night if I could recommend any books
> >on Haskell.  Haskell has recently become a hot topic in the Perl
> >community since Autrijus Tang has been using it to write an
> >implementation of Perl 6 he calls "Pugs"[1].
> 
> I've found that Hal Daume's 'Yet Another Haskell Tutorial' is probably
> the most gentle introduction.  It's not complete, but a good start:
> 
> http://www.isi.edu/~hdaume/htut/

Seconded.  Ingy is working on a Kwid-ification of that tutorial:

	http://svn.openfoundry.org/pugs/docs/yaht.kwid

(But if you can read/print the PDF, you probably don't need that)


The first two texts recommended on the Learning Haskell Page
(http://www.haskell.org/learning.html) are:

	The Haskell School of Expression
	http://www.haskell.org/soe/

	Haskell: The Craft of Functional Programming
	http://www.cs.kent.ac.uk/people/staff/sjt/craft2e/

The second book is exactly what it says: a book on fp that happens to
use Haskell.  If you're interested in applying proof-by-induction to
your programs, then this is a good introduction.  If you want to get
started in Haskell, you probably want something more practical.

The first book is probably a better bet to get started.  It doesn't go
as deeply into the material (and it's quite shallow in places) but it does 
give you a better angle on how to use Haskell in something resembling a
real world problem.


FWIW, I'd recommend Daume's tutorial, and work your way though a project
using, say Parsec[1], to get your feet wet.  Then go back and fill in the
theory to figure out what you just did.  ;-)  

-- Adam

[1] The Parsec docs are even more sparse, but the intro really goes over
    all the features in the library at a sufficient level of detail that 
	you can do something useful with it.

-
**Majordomo list services provided by PANIX <URL:http://www.panix.com>**
**To Unsubscribe, send "unsubscribe phl" to majordomo@lists.pm.org**