[Haskell-cafe] Re: Learning Haskell
jeanchristophe.mincke at gmail.com
Wed Mar 25 13:15:15 EDT 2009
I discovered Haskell about a year and half ago, along with F#.
Beginning with both languages was relatively easy but I already had
experience of FP in lisp and scheme.
And some years ago I took a course in FP (learning CAML which F# is closely
My study of haskell went smooth up to the point I came across monads (that
is, the honey moon did not last very long).
I must admit that it took me about 3 months of (intermittent) work to first
understand monads and then to be able to use them correctly.
What also helped me a lot was the parallel study of both F# and Haskell.
Indeed, I often tried to understand how some constructs in Haskell could or
could not be implemented in F# (i.e type classes).
I.e. that really helped me understand the higher order types in Haskell.
After the monad episode, I found myself quite interested in FRP and all its
lot of new concepts (applicative functors, arrows, ...).
I tried to read as much as I could on the subject and finally decided that
if I wanted to really understand all this, one of the best solution was
trying to implement a small FRP myself. That's what I did in F#.
After a few weeks, I think I now understand arrows, application functors and
I think that working on more or less real problems (or on real applications)
is definitively the best way to learn such languages. It is not a matter of
writing thousands of lines of code but rather to pick up a specific
aspect/feature of a language and to apply it to a concrete example, just to
understand what problem it is supposed to solve and how well it solves it.
Although I am not making a living on Haskell/F# (specially in my country),
it gave me quite a lot of good idea in my day to day work both in terms of
development techniques and in terms of analysis/specifications.
So learning Haskell was not the easiest thing I did in my life but so far,
it does pay off.
On Wed, Mar 25, 2009 at 5:28 PM, Lanny Ripple <lanny at cisco.com> wrote:
> Learning the syntax, a day or two.
> Learning major idioms (many of which are encapsulated in modules),
> ongoing (it's been about two years of off and on).
> Sadly I can't use it for my $work language. If I could then the
> time available for learning haskell and paying the mortgage would
> not be disjoint. On the other hand I'm using what I'm learning at
> work and it's making for better code. (And scaring some of my
> coworkers doing my code-reviews. :)
> Jon Fairbairn wrote:
> > "Tom.Amundsen" <tomamundsen at gmail.com> writes:
> >> How long did it take you to become proficient in Haskell?
> > Something more than twenty years.
> >> By that, I mean - how long until you were just as
> >> comfortable with Haskell as you were with your strongest
> >> language at that time?
> > Oh, Haskell was my strongest language during all that time! ;-)
> > If I have a serious point, it's that going from writing
> > imperative programmes to writing properly functional ones
> > takes a lot longer than it takes to learn every facet of the
> > language.
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe