Personal tools

Metaチュートリアル

From HaskellWiki

(Difference between revisions)
Jump to: navigation, 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
   
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.
+
一つのサイズの服があらゆる人にフィットするわけではありません!Metaチュートリアルでは '''あなたが''' 必要とするHaskellチュートリアルを探す手助けをします。私たちの説明の仕方がもしかするとあなたのレベルに対して"簡単すぎる"かもしれません。しかしとても簡潔にそして説明に不足なく書かれているので一度は目を通す価値があると思います。
   
== 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]
# You just want to see what Haskell looks like at a glance
+
# Haskellがどんなものかちょっと見てみたいだけの方
 
#* [[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初心者の方
# You don't mind Haskell syntax, but you don't neccesarily feel comfortable working with monads (for example, with do notation)
+
# Haskellの構文は気にならないれど、モナドが気持ち悪い方(たとえばdo記法)
 
#* [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]
# You understand simple monads but now you need to make them nest and do tricks
+
# 簡単なモナドは分かるけど、ネストやdoトリックを使う必要がある方
 
#* [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]
# You understand category theory and you want to know what's the link between category theory monads and Haskell monads
+
# 圏論を理解していて圏論のモナドとHaskellのモナドの関係を知りたい方
 
#* [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]]
# You especially want to know about doing IO
+
# 特に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]]
# You want to build a graphical user interface
+
# GUIを作りたい方
 
#* [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チュートリアルを探す手助けをします。私たちの説明の仕方がもしかするとあなたのレベルに対して"簡単すぎる"かもしれません。しかしとても簡潔にそして説明に不足なく書かれているので一度は目を通す価値があると思います。

Contents

1 Haskell 全般

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

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

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

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


2 モナド

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

3 実用的なサンプル

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

Languages: en