Difference between revisions of "Metaチュートリアル"

From HaskellWiki
Jump to navigation Jump to search
 
Line 3: Line 3:
 
: ''and if you say no, it points you at a tutorial which explains it'' -- ndm on #haskell
 
: ''and if you say no, it points you at a tutorial which explains it'' -- ndm on #haskell
   
  +
一つのサイズの服があらゆる人にフィットするわけではありません!Metaチュートリアルでは '''あなたが''' 必要とする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 ==
+
== Haskell 全般 ==
   
  +
=== とにかく早く始めたい人向け ===
=== You just want a quick start ===
 
   
* [[Haskell in 5 steps]]
+
* [[Haskell入門 5ステップ]]
 
* [[Learn Haskell in 10 minutes]]
 
* [[Learn Haskell in 10 minutes]]
   
  +
=== プログラミング初心者向け ===
=== You are new to programming ===
 
   
 
* [http://en.wikibooks.org/wiki/Haskell The Haskell wikibook]
 
* [http://en.wikibooks.org/wiki/Haskell The Haskell wikibook]
 
* [http://en.wikibooks.org/wiki/Haskell/YAHT Yet Another Haskell Tutorial]
 
* [http://en.wikibooks.org/wiki/Haskell/YAHT Yet Another Haskell Tutorial]
   
  +
=== プログラミング中級者向け ===
=== You have experience 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.
 
#* [http://www.haskell.org/~pairwise/intro/intro.html Haskell 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
 
#* [http://learnyouahaskell.com/ Learn You a Haskell for Great Good!] Beautiful, illustrated Haskell tutorial
  +
# 他の関数型プログラミング言語の経験がある方
# 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''
 
#* [http://www.haskell.org/tutorial/ Gentle Introduction To Haskell, version 98] - Gentle seems to be a subjective term...
 
#* [http://www.haskell.org/tutorial/ Gentle Introduction To Haskell, version 98] - Gentle seems to be a subjective term...
 
#* [http://en.wikibooks.org/wiki/Haskell/Write_Yourself_a_Scheme_in_48_Hours Write Yourself a Scheme in 48 Hours]
 
#* [http://en.wikibooks.org/wiki/Haskell/Write_Yourself_a_Scheme_in_48_Hours Write Yourself a Scheme in 48 Hours]
  +
# Haskellがどんなものかちょっと見てみたいだけの方
# You just want to see what Haskell looks like at a glance
 
 
#* [[Simple unix tools]]
 
#* [[Simple unix tools]]
 
#* [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]
Line 34: Line 34:
   
   
== Monads ==
+
== モナド ==
   
# You are new to Haskell
+
# Haskell初心者の方
  +
# Haskellの構文は気にならないれど、モナドが気持ち悪い方(たとえばdo記法)
# 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!)]
  +
# 演習から学ぶのがとっつきやすい方
# You learn best by doing exercises
 
  +
# メタファーやアナロジーから学ぶ方
# You learn by metaphor or analogy
 
 
#* [http://en.wikibooks.org/wiki/Haskell/Understanding_monads Understanding monads]
 
#* [http://en.wikibooks.org/wiki/Haskell/Understanding_monads Understanding monads]
 
#* [http://www.haskell.org/haskellwiki/Monads_as_containers Monads as containers]
 
#* [http://www.haskell.org/haskellwiki/Monads_as_containers Monads as containers]
  +
# 簡単なモナドは分かるけど、ネストやdoトリックを使う必要がある方
# 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]
 
#* [http://sigfpe.blogspot.com/2006/05/grok-haskell-monad-transformers.html Grok Monad Transformers]
 
#* [http://sigfpe.blogspot.com/2006/05/grok-haskell-monad-transformers.html Grok Monad Transformers]
  +
# 実用的にモナドがどのように使われているか見たい方
# 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]
  +
# 圏論を理解していて圏論のモナドとHaskellのモナドの関係を知りたい方
# 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]
  +
# モナドのチュートリアルを読んで、用例から基本的なモナド関数の概要を知りたい方
# 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]
   
  +
== 実用的なサンプル ==
== Practical stuff ==
 
   
  +
# 実用的なアプリケーションやライブラリを書きたい方
# 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?
 
# You're sick of all these explanations! Is a cookbook too much to ask?
 
#* [[Cookbook]]
 
#* [[Cookbook]]
  +
# 特にIOの使い方を知りたい方
# You especially want to know about doing IO
 
 
#* [[Introduction to IO]] - a quick overview
 
#* [[Introduction to IO]] - a quick overview
 
#* [http://www.cse.unsw.edu.au/~dons/blog/2006/12/18#ph-3 Programming Haskell: argument handling] - command line arguments too
 
#* [http://www.cse.unsw.edu.au/~dons/blog/2006/12/18#ph-3 Programming Haskell: argument handling] - command line arguments too
  +
# 簡単なネットワーククライアントを書きたい方
# You want to write a simple network client
 
 
#* [[Roll your own IRC bot]]
 
#* [[Roll your own IRC bot]]
  +
# GUIを作りたい方
# You want to build a graphical user interface
 
 
#* [http://en.wikibooks.org/wiki/Haskell/GUI Introductory gui programming]
 
#* [http://en.wikibooks.org/wiki/Haskell/GUI Introductory gui programming]
 
#* [http://www.haskell.org/gtk2hs/documentation/#tutorials With gtk2hs]
 
#* [http://www.haskell.org/gtk2hs/documentation/#tutorials With gtk2hs]
 
#* [http://wxhaskell.sourceforge.net/quickstart.html With wxHaskell]
 
#* [http://wxhaskell.sourceforge.net/quickstart.html With wxHaskell]
  +
# コンパイラやインタープリタを書きたい方
# You want to write a compiler or interpreter
 
 
#* [http://www.cse.unsw.edu.au/~dons/blog/2006/12/11#interpreters-with-reader-monads Quick interpreters with the Reader monad]
 
#* [http://www.cse.unsw.edu.au/~dons/blog/2006/12/11#interpreters-with-reader-monads Quick interpreters with the Reader monad]
 
#* [http://www.defmacro.org/ramblings/lisp-in-haskell.html Writing A Lisp Interpreter In Haskell]
 
#* [http://www.defmacro.org/ramblings/lisp-in-haskell.html Writing A Lisp Interpreter In Haskell]

Revision as of 18:03, 3 December 2009

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

一つのサイズの服があらゆる人にフィットするわけではありません!Metaチュートリアルでは あなたが 必要とするHaskellチュートリアルを探す手助けをします。私たちの説明の仕方がもしかするとあなたのレベルに対して"簡単すぎる"かもしれません。しかしとても簡潔にそして説明に不足なく書かれているので一度は目を通す価値があると思います。

Haskell 全般

とにかく早く始めたい人向け

プログラミング初心者向け

プログラミング中級者向け

  1. 関数型プログラミング初心者
  2. 他の関数型プログラミング言語の経験がある方
  3. Haskellがどんなものかちょっと見てみたいだけの方


モナド

  1. Haskell初心者の方
  2. Haskellの構文は気にならないれど、モナドが気持ち悪い方(たとえばdo記法)
  3. 演習から学ぶのがとっつきやすい方
  4. メタファーやアナロジーから学ぶ方
  5. 簡単なモナドは分かるけど、ネストやdoトリックを使う必要がある方
  6. 実用的にモナドがどのように使われているか見たい方
  7. 圏論を理解していて圏論のモナドとHaskellのモナドの関係を知りたい方
  8. モナドのチュートリアルを読んで、用例から基本的なモナド関数の概要を知りたい方

実用的なサンプル

  1. 実用的なアプリケーションやライブラリを書きたい方
  2. You're sick of all these explanations! Is a cookbook too much to ask?
  3. 特にIOの使い方を知りたい方
  4. 簡単なネットワーククライアントを書きたい方
  5. GUIを作りたい方
  6. コンパイラやインタープリタを書きたい方

Languages: en