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

Derek Elkins derek.a.elkins at gmail.com
Fri Apr 27 17:07:28 EDT 2007

Tony Morris wrote:
> mike clemow wrote:
>> Troy,
>> As a Java chimp embarking on the Haskell journey myself, I'd be
>> interested in hearing about specific ways that learning Haskell has
>> changed the way you program Java.  How do you employ the "very
>> interesting concepts" that you have learned through your study of
>> Haskell in your Java programming?  Do you employ them at all?  _Can_
>> they be employed in Java?  Has it made you a better Java programmer?
>> Cheers,
>> Mike
> I reinvented functional programming when I was using Java rather than
> Haskell making me use Java more succintly. I knew something was
> seriously wrong with imperative programming and Java's type system all
> those years I spent working on the implementation for IBM. I was pleased
> to learn that Haskell incorporated many of my ideas (and more) -
> validating my original suspicions. The fact that many of the concepts in
> Haskell I had already "invented" made the language easy for me to learn
> (as in, "oh yeah of course that makes perfect sense" in response to
> discover monads).
> I produced many Java projects in an attempt to demonstrate what I
> thought was wrong, but few of them remain due to loss of interest.
> http://jtiger.org/
> http://code.google.com/p/pure-functional-java/
> In regard to the original question, 'What are the mysterious "side
> effects" which are avoided by using Haskell, which everyone talks about?
> Null pointers?', my response is "yes".
> Looking at a NullPointerException (NPE), these exist because of the
> imperative nature of the code; with explicit order of evaluation and
> potential side-effects. In an attempt to highlight the absurdity of the
> fact that a NPE even exists, I like to tell people that "NPEs occur when
> you write a program that says, 'give me the something that is not there
> yet'".


And then you come to Haskell and you -can- say, "Give me the something that is 
not there yet."

More information about the Haskell mailing list