Mailing List Archive


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

Re: [tlug] Learning to Program



On Fri, 3 Aug 2007, Stephen J. Turnbull wrote:

How about Haskell?

As someone who's been trying to learn Haskell on and off for more than a year now, I'll offer an opinion on that:

No way.

Well, actually, it's a lot more complex than that. And I'm quite
possibly wrong there. And in fact, if _The Little Haskeller_ existed,
and there were a Dr. Haskell, I'd say go for it. In fact, if someone
wants to give it a try, I might even have a go at translating _The
Little Schemer_ into Haskell.

But in a way, it seems kind of pointless. I'm not recommending _The
Little Schemer_ because I like Scheme (though I do) or I think that
Scheme is a pretty darn good language (which it is). I'm recommending it
because it is a very gentle, fun way to learn some fundamentals that you
will use with any programming language you touch, and it goes in small
enough chunks that I think non-programmers would have no problem with it.

There's a book on the 'net somewhere called "100 Haskell Questions
with Answers" or something like that.

Are you talking about this?

    http://www.haskell.org/haskellwiki/H-99:_Ninety-Nine_Haskell_Problems

If so, despite being listed under "Tutorials," it's not one. It's more
the exercises at the end of each chapter of a tutorial, with the actual
tutorial bits left out.

To do it, you'll need to get familiar with certain general programming
concepts, Haskell syntax, and be able to look up functions, etc.
in the reference material first. (BTW, for that last one, Hoogle
(http://haskell.org/hoogle/) is fricking amazing. You know what you want
to do, but you have no idea what the function might be named or what
package it might be in? Put in the type signature and it will find the
function for you! Try that with Ruby!)

Although I have to admit that the higher order functions I write are
mostly implicit (ie, Lisp macros). :-)

BTW, as I mentioned, _TLS_ doesn't deal with higher-order functions, at least not that I recall, or that I can find in a quick flip through the book). And this makes sense to me: while program organization is important, you first need to know about data structures and their manipulation.

cjs
--
Curt Sampson       <cjs@example.com>        +81 90 7737 2974
Mobile sites and software consulting: http://www.starling-software.com


Home | Main Index | Thread Index

Home Page Mailing List Linux and Japan TLUG Members Links