Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Here are a few of the resources that I've found useful after "getting the hang of" monads:</p> <ul> <li>As SuperBloup noted, Brent Yorgey's <a href="http://www.haskell.org/wikiupload/8/85/TMR-Issue13.pdf" rel="noreferrer">Typeclassopedia</a> is indispensable (and it does in fact cover arrows).</li> <li>There's a ton of great stuff in <a href="http://book.realworldhaskell.org/" rel="noreferrer">Real World Haskell</a> that could be considered "after monads": applicative parsing, monad transformers, and STM, for example.</li> <li>John Hughes's <a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.29.4575" rel="noreferrer">"Generalizing Monads to Arrows"</a> is a great resource that taught me as much about monads as it did about arrows (even though I thought that I already understood monads when I read it).</li> <li>The <a href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.65.8016&amp;rep=rep1&amp;type=pdf" rel="noreferrer">"Yampa Arcade"</a> paper is a good introduction to Functional Reactive Programming.</li> <li>On type families: I've found working with them easier than reading about them. The <a href="http://hackage.haskell.org/package/vector-space" rel="noreferrer">vector-space</a> package is one place to start, or you could look at the code from Oleg Kiselyov and Ken Shan's <a href="http://okmij.org/ftp/gengo/NASSLLI10/" rel="noreferrer">course on Haskell and natural language semantics</a>.</li> <li>Pick a couple of chapters of Chris Okasaki's <a href="http://okasaki.blogspot.com/2008/02/ten-years-of-purely-functional-data.html" rel="noreferrer">Purely Functional Data Structures</a> and work through them in detail.</li> <li>Raymond Smullyan's <a href="http://en.wikipedia.org/wiki/To_Mock_a_Mockingbird" rel="noreferrer">To Mock a Mockingbird</a> is a fantastically accessible introduction to combinatory logic that will change the way you write Haskell.</li> <li>Read Gérard Huet's <a href="http://www.st.cs.uni-saarland.de/edu/seminare/2005/advanced-fp/docs/huet-zipper.pdf" rel="noreferrer">Functional Pearl on zippers</a>. The code is OCaml, but it's useful (and not too difficult) to be able to translate OCaml to Haskell in your head when working through papers like this.</li> </ul> <p>Most importantly, dig into the code of any Hackage libraries you find yourself using. If they're doing something with syntax or idioms or extensions that you don't understand, look it up.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload