Personal tools


From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
(+ Learn Haskell in 10 minutes)
Line 10: Line 10:
* [[Haskell in 5 steps]]
* [[Haskell in 5 steps]]
* [[Learn Haskell in 10 minutes]]
=== You are new to programming ===
=== You are new to programming ===

Revision as of 06:16, 19 July 2007

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.


1 Haskell in general

1.1 You just want a quick start

1.2 You are new to programming

1.3 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

2 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
  8. You have read a monad tutorial and want to see an overview of the basic monad functions with usage examples

3 Practical stuff

  1. You want to write a real life application or library
  2. You're sick of all these explanations! Is a cookbook too much to ask?
    • Cookbook
    • Note: avoid the Haskell version of PLEAC. It was written to show off Haskell's flexibility, not to actually help Haskell programmers
  3. You especially want to know about doing IO
  4. You want to write a simple network client
  5. You want to build a graphical user interface
  6. You want to write a compiler or interpreter