Personal tools

Meta-tutorial

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
(merge io stuff)
m (You have experience programming: Fixed invalid link.)
 
(10 intermediate revisions by 7 users not shown)
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 ===
Line 19: Line 20:
   
 
# You are new to functional programming
 
# You are new to functional programming
#* [http://www.haskell.org/~pairwise/intro/intro.html Haskell for C Programmers] - Haskell hurt your C-oriented brain? Try this.
+
#* [[Haskell Tutorial for C Programmers]] - Haskell hurt your C-oriented brain? Try this.
 
#* [[Tutorials/Programming Haskell|Programming Haskell]] - [[User:DonStewart| dons]] gets you building useful programs and playing with parallelism from the get-go
 
#* [[Tutorials/Programming Haskell|Programming Haskell]] - [[User:DonStewart| dons]] gets you building useful programs and playing with parallelism from the get-go
 
#* [[Hitchhikers guide to Haskell]] - Sick of tutorials starting slow and boring and then ramping up to incomprehensible? Try the hitchhiker's guide
 
#* [[Hitchhikers guide to Haskell]] - Sick of tutorials starting slow and boring and then ramping up to incomprehensible? Try the hitchhiker's guide
  +
#* [http://learnyouahaskell.com/ Learn You a Haskell for Great Good!] Beautiful, illustrated Haskell tutorial
 
# You have programmed in other functional languages before
 
# You have programmed in other functional languages before
 
#* [[A brief introduction to Haskell]] - Concise tour of Haskell, translated from the article ''A brief introduction to OCaml''
 
#* [[A brief introduction to Haskell]] - Concise tour of Haskell, translated from the article ''A brief introduction to OCaml''
Line 30: Line 32:
 
#* [http://cs.anu.edu.au/student/comp1100/haskell/tourofsyntax.html A Tour of the Haskell Syntax]
 
#* [http://cs.anu.edu.au/student/comp1100/haskell/tourofsyntax.html A Tour of the Haskell Syntax]
 
#* [[How to read Haskell]]
 
#* [[How to read Haskell]]
 
   
 
== Monads ==
 
== Monads ==
Line 37: Line 38:
 
# You don't mind Haskell syntax, but you don't neccesarily feel comfortable working with monads (for example, with do notation)
 
# You don't mind Haskell syntax, but you don't neccesarily feel comfortable working with monads (for example, with do notation)
 
#* [http://sigfpe.blogspot.com/2006/08/you-could-have-invented-monads-and.html You could have invented monads! (And Maybe you Already Have!)]
 
#* [http://sigfpe.blogspot.com/2006/08/you-could-have-invented-monads-and.html You could have invented monads! (And Maybe you Already Have!)]
  +
#* [http://ertes.de/articles/monads.html Understanding Haskell Monads]
  +
#* [http://monads.haskell.cz/html/index.html All About Monads]
 
# You learn best by doing exercises
 
# You learn best by doing exercises
 
# You learn by metaphor or analogy
 
# You learn by metaphor or analogy
Line 42: Line 45:
 
#* [http://www.haskell.org/haskellwiki/Monads_as_containers Monads as containers]
 
#* [http://www.haskell.org/haskellwiki/Monads_as_containers Monads as containers]
 
# 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://www.grabmueller.de/martin/www/pub/Transformers.pdf Monad Transformers Step by Step]
  +
#* [http://sigfpe.blogspot.com/2006/05/grok-haskell-monad-transformers.html Grok Monad Transformers]
 
# You want to see monads in practice
 
# You want to see monads in practice
 
#* [http://en.wikibooks.org/wiki/Haskell/Practical_monads Practical monads]
 
#* [http://en.wikibooks.org/wiki/Haskell/Practical_monads Practical monads]
Line 49: Line 52:
 
# You have read a monad tutorial and want to see an overview of the basic monad functions with usage examples
 
# You have read a monad tutorial and want to see an overview of the basic monad functions with usage examples
 
#* [http://members.chello.nl/hjgtuyl/tourdemonad.html A tour of the Haskell Monad functions]
 
#* [http://members.chello.nl/hjgtuyl/tourdemonad.html A tour of the Haskell Monad functions]
  +
  +
== Other subjects ==
  +
  +
* Enumerators
  +
** [http://www.mew.org/~kazu/proj/enumerator/ A tutorial on the enumerator library] (29.03.2011)
  +
   
 
== Practical stuff ==
 
== Practical stuff ==
Line 54: Line 63:
 
# You want to write a real life application or library
 
# You want to write a real life application or library
 
#* [[How to write a Haskell program]]
 
#* [[How to write a Haskell program]]
  +
# You're sick of all these explanations! Is a cookbook too much to ask?
  +
#* [[Cookbook]]
 
# You especially want to know about doing IO
 
# You especially want to know about doing IO
 
#* [[Introduction to IO]] - a quick overview
 
#* [[Introduction to IO]] - a quick overview
Line 69: Line 80:
   
 
[[Category:Tutorials]]
 
[[Category:Tutorials]]
  +
  +
Languages: [[Metaチュートリアル|ja]]

Latest revision as of 09:52, 13 June 2012

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.

Contents

[edit] 1 Haskell in general

[edit] 1.1 You just want a quick start

[edit] 1.2 You are new to programming

[edit] 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

[edit] 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

[edit] 3 Other subjects


[edit] 4 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?
  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

Languages: ja