[Haskell] Newbie: what are the advantages of Haskell?

Robert Daniel Emerson Robert.Emerson at net-tribe.com
Sat Apr 28 07:46:36 EDT 2007


Dear Phiroc,

I am also a newbie to Haskell, but I also must confess having a sort of 
religious conversion. I also admit that the learning curve for Haskell, and 
in particular associated theory is steep, and I am only on the fist rung of 
the ladder. Some of what I say here has been echoed by others in answer to 
your query on the utility of Haskell.

I think most would agree that a language, be it natural or artificial, 
constrains or enhances they way you think, and perhaps even what you can 
think, and what you can create. Historically many technical problems remained 
intractable until the invention of the right language, the language of 
classical algebra, or the differential calculus I think are good common 
examples. Who would argue that Italian is a great language for operas?

I find even at the elementary level, many common algorithms seem to me 
naturally obvious when expressed in Haskell. Other have also pointed out that 
the category theory constructs that allow Haskell to remain a purely 
functional language, allow you to bring in 'the heavy guns' of standard 
mathematical reasoning. With out discussing what proof is really all about, 
it very powerful if that concept can be imported into the art of programming.

I also think that the relationship between parallel computing and functional 
languages will become  very important in to following decades as we hit 
'Moore's wall'.

Now for my real truth, it is just down right great fun, hacking at its best. 
If asked for a one line description on what Haskell is I would say that it is 
'Lisp on steroids'. Paul Graham has plenty to say about the utility and 
elegance of Lisp, I would like to know what he thinks of Haskell. I am going 
to paraphrase Graham: 'If a lot of really smart people are using something, 
and you can't see why, maybe its worth your time to see if you can see what 
they see'. Just to give you an idea of where I am coming from I started out 
putting food on the table in the 70's writing PDP 11 assembler programmes.

Suppose you don't even use Haskell in a project directly, maybe you develop 
your programme 'conceptually' in Haskell, and write it in whatever makes 
practical sense in your environment and market. You may end up with an 
artfully designed set of code, that is easier to maintain, with clear 
abstraction barriers.

In assaulting the learning curve I have found that I am building up a 
collection of texts, papers, blog postings, etc. If I don't understand one 
source, maybe another will give me some insight. I will just mention one of 
the many reference that I have found useful: 'Functional Programming - 
Practice and Theory' By Bruce J. MacLennan (ISBN 0-201-13744-5). Oh, and of 
course the classic, 'Structure and Interpretation of Computer Programs' by 
Ableson and Sussman. Neither is an 'Hakell' book, but I have found them 
hyper-useful for practical foundational material.

I would be interested to know what materials you are using to learn Haskell, 
and am glad to see that I am not the only 'newbie' :-)

Best Regards,
Robert Emerson

P.S. I didn't even mention Domain Specific Embedded Languages! Big time 
advantage.

On Friday 27 April 2007 01:02, phiroc at free.fr wrote:
> If this is interesting then please enlighten a poor, ignorant PERL hacker.
>
> Quoting Johannes Waldmann <waldmann at imn.htwk-leipzig.de>:
> > phiroc at free.fr wrote:
> > > [...] semi-functional programming languages such as Perl [...]
> >
> > now this is an interesting view ...
>
> _______________________________________________
> Haskell mailing list
> Haskell at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell


More information about the Haskell mailing list