category feedBooks and courses for beginnersResourceseditdelete

This category is a stub, contributions are welcome!






(It's hard to write about these books and courses, since I haven't done any of them; you can read this Chris Allen's post for more detailed reviews.)

Recommendations

People are generally recommending Haskell Programming From The First Principles and the CIS 194 course. Real World Haskell and Learn You A Haskell are very popular free books, but they are disliked because lots of code from the former doesn't compile anymore and the latter doesn't have exercises. Haskell Programming From The First Principles is somewhat expensive, but if you don't have money you can contact the authors. The downside is that it might seem too long/wordy for you – check the sample and if you don't like it, stick to CIS 194 or maybe even Haskell by example.

edit description
or press Ctrl+Enter to savemarkdown supported
Summary edit summary

This is a university course, so it goes like this: explanations, a substantial chunk of homework, more explanations, more homework, etc. Covered topics:

  • basics (polymorphism, ADTs, typeclasses, laziness, recursion)
  • functors, applicative functors, monads, monoids
  • I/O

There are newer versions of this course (2014 and 2015), which cover more things but don't cover the basics as well as the original course does.

Summary quit editing summary
Prosedit prosquit editing pros
  • Has exercises.
    move trait up move trait down edit trait delete trait

press Ctrl+Enter or Enter to addmarkdown supportededit off
Consedit consquit editing cons

    press Ctrl+Enter or Enter to addmarkdown supportededit off
    Notes
    collapse notesedit notes

    <notes are empty>

    add something!

    Summary edit summary

    write something here!

    Summary quit editing summary
    Prosedit prosquit editing pros

      press Ctrl+Enter or Enter to addmarkdown supportededit off
      Consedit consquit editing cons
      • The humor can be off-putting for some people.
        move trait up move trait down edit trait delete trait

      press Ctrl+Enter or Enter to addmarkdown supportededit off
      Notes
      collapse notesedit notes

      <notes are empty>

      add something!

      Summary edit summary

      Book which focuses on the usage of Haskell code in the real world. Probably a good learning after having an initial idea about Haskell although the book starts from scratch.

      Summary quit editing summary
      Prosedit prosquit editing pros
      • Available for free on the official site.
        move trait up move trait down edit trait delete trait

      press Ctrl+Enter or Enter to addmarkdown supportededit off
      Consedit consquit editing cons

        press Ctrl+Enter or Enter to addmarkdown supportededit off
        Notes
        collapse notesedit notes

        <notes are empty>

        add something!

        Summary edit summary

        write something here!

        Summary quit editing summary
        Prosedit prosquit editing pros
        • Available for free on the official site.
          move trait up move trait down edit trait delete trait

        press Ctrl+Enter or Enter to addmarkdown supportededit off
        Consedit consquit editing cons
        • Doesn't have exercises, so if you're not doing anything on your own you might only get a shallow understanding.
          move trait up move trait down edit trait delete trait

        press Ctrl+Enter or Enter to addmarkdown supportededit off
        Notes
        collapse notesedit notes

        <notes are empty>

        add something!

        #
        Beginning Haskell: A Project-Based Approach
        book
        move item up move item down edit item info delete item
        Summary edit summary

        write something here!

        Summary quit editing summary
        Prosedit prosquit editing pros

          press Ctrl+Enter or Enter to addmarkdown supportededit off
          Consedit consquit editing cons

            press Ctrl+Enter or Enter to addmarkdown supportededit off
            Notes
            collapse notesedit notes

            <notes are empty>

            add something!

            Summary edit summary

            write something here!

            Summary quit editing summary
            Prosedit prosquit editing pros

              press Ctrl+Enter or Enter to addmarkdown supportededit off
              Consedit consquit editing cons

                press Ctrl+Enter or Enter to addmarkdown supportededit off
                Notes
                collapse notesedit notes

                <notes are empty>

                add something!

                Summary edit summary

                Similar to LYAH but without the “issues” it supposedly has.

                Summary quit editing summary
                Prosedit prosquit editing pros

                  press Ctrl+Enter or Enter to addmarkdown supportededit off
                  Consedit consquit editing cons

                    press Ctrl+Enter or Enter to addmarkdown supportededit off
                    Notes
                    collapse notesedit notes

                    <notes are empty>

                    add something!

                    Summary edit summary

                    write something here!

                    Summary quit editing summary
                    Prosedit prosquit editing pros
                    • Compares some concepts to popular languages such as Javascript.
                      move trait up move trait down edit trait delete trait
                    • Tries to avoid using too much terminology initially that confuses those new to Haskell and functional programming.
                      move trait up move trait down edit trait delete trait

                    press Ctrl+Enter or Enter to addmarkdown supportededit off
                    Consedit consquit editing cons

                      press Ctrl+Enter or Enter to addmarkdown supportededit off
                      Notes
                      collapse notesedit notes

                      <notes are empty>

                      add something!