[Haskell-cafe] Learning Haskell

Cale Gibbard cgibbard at gmail.com
Mon Dec 5 21:08:32 EST 2005


It's always great to see more people interested in Haskell. :)  While
a strong mathematics background can help in learning Haskell, I
wouldn't say that it's much more essential to learning Haskell than
Python or Smalltalk.  You will be directly exposed to mathematical
concepts from time to time (functors, monads, monoids), but it's not
necessary to understand them in their full mathematical context to put
them to use in your programs.  On the contrary, they're rather good
programming abstractions on their own, and would be worthwhile in most
any language.  Further, mathematical kinds of reasoning apply more
directly to Haskell programs, for instance, referential transparency
lets you substitute equal expressions for one another like in a
mathematical calculation, but again, it's not really essential to
programming (though it's handy, and you'll probably just find yourself
doing it after a while).

To your second question, I'd say that Haskell isn't bad at small
things. One can write a great deal of useful one-or-two-line Haskell
programs. I'd consider its use in shell-scripting like tasks perhaps a
little bit odd, but not really awkward at all.  Some people have
worked on libraries and tools in that direction.

One thing which might interest you is Don Stewart's h4sh, which allows
one to use common Haskell list functions in the shell.

There's also a library at http://www.volker-wysk.de/hsshellscript/
which is aimed at writing shell-script-like code in Haskell.

I've used it myself for a lot of small tasks, many oriented in the
direction of searching for solutions to particular problems. It's a
nice language in which to do nondeterministic things.

Haskell code is generally pretty fun to write, there's usually not a
lot of framework cruft that you need to write to get started on code
that works.

 - Cale

On 05/12/05, Jimmie Houchin <jhouchin at cableone.net> wrote:
> Hello,
> I am exploring the possibility of learning Haskell. I am not a
> professional programmer, nor do I have a CS or Math degree.
> I do play and program with Python, Smalltalk (Squeak), Javascript,
> explored Erlang some.
> I do not have a strong math background.
> Also, I understand Haskell's benefits for programming larger projects.
> But how does it do on programming in the small?
> Thanks for any help and wisdom.
> Jimmie Houchin
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org

More information about the Haskell-Cafe mailing list