I learned Haskell in my first semestre at university and it was a very interesting new perspective on programming. I'll wholeheartedly recommend Haskell as the most "pure" functional language I know and thus the one you'd probably want to learn first.

However, because of this "pureness", some common tasks are made awfully awkward. Best example are probably IO routines which, by definition, are not free of side-effects because the side-effect (here: the disk operater or whatever) is the operations whole purpose. Since that doesn't fit in the concept of purely functional languages, the purists couldn't sleep well. But they were clever purists and decided that hence forth, such operations were to be called monads, which, as the documentation told me, are some obscure mathematical functions that may have side-effects. I'll refrain from posting example code since that'd become really off topic.

On the positive side is that Haskell has a graphics library and both interpreters and compilers for ease of debugging or speed. It's easy to read once you got the hang of it, too. I suggest you start with Haskell.

Steffen


In reply to Re: Resources for Functional Programming? by tsee
in thread Resources for Functional Programming? by kvale

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.