Difference between revisions of "Meta-tutorial"

From HaskellWiki
Jump to navigation Jump to search
(some more practical stuff)
(more stuff)
Line 42: Line 42:
 
# You understand simple monads but now you need to make them nest and do tricks
 
# You understand simple monads but now you need to make them nest and do tricks
 
#* [http://uebb.cs.tu-berlin.de/~magr/pub/Transformers.pdf Monad Transformers Step by Step]
 
#* [http://uebb.cs.tu-berlin.de/~magr/pub/Transformers.pdf Monad Transformers Step by Step]
  +
# You want to see monads in practice
  +
#* [http://en.wikibooks.org/wiki/Haskell/Practical_monads Practical monads]
 
# You understand category theory and you want to know what's the link between category theory monads and Haskell monads
 
# You understand category theory and you want to know what's the link between category theory monads and Haskell monads
 
#* [http://db.ewi.utwente.nl/Publications/PaperStore/db-utwente-0000003696.pdf The Haskell Programmer's Guide to the IO Monad]
 
#* [http://db.ewi.utwente.nl/Publications/PaperStore/db-utwente-0000003696.pdf The Haskell Programmer's Guide to the IO Monad]

Revision as of 00:31, 31 December 2006

what i would like is a meta-tutorial
a list of questions about haskell, what does this do, do you understand this etc
and if you say no, it points you at a tutorial which explains it -- ndm on #haskell

One size does not fit all! The meta-tutorial aims to help you find the Haskell tutorials that you need. Note that from our description of things, some tutorials might seem "too easy" for your level, but they might be worth checking out anyway, for example, because they are particularly clear or well written.

Haskell in general

You just want a quick start

You are new to programming

You have experience programming

  1. You are new to functional programming
  2. You have programmed in other functional languages before
  3. You just want to see what Haskell looks like at a glance


Monads

  1. You are new to Haskell
  2. You don't mind Haskell syntax, but you don't neccesarily feel comfortable working with monads (for example, with do notation)
  3. You learn best by doing exercises
  4. You learn by metaphor or analogy
  5. You understand simple monads but now you need to make them nest and do tricks
  6. You want to see monads in practice
  7. You understand category theory and you want to know what's the link between category theory monads and Haskell monads

Practical stuff

  1. You want to write a real life application or library
  2. You want to just do IO and command line argument handling
  3. You want to write a simple network client
  4. You want to build a graphical user interface
  5. You want to write a compiler or interpreter