読者です 読者をやめる 読者になる 読者になる

bitterharvest’s diary

A Bitter Harvestは小説の題名。作者は豪州のPeter Yeldham。苦闘の末に勝ちえた偏見からの解放は命との引換になったという悲しい物語

Haskellをインターネットで学ぶ

1.序論

インターネット時代になって、自習自学することがとても容易になった。大学での講義内容が詳しく紹介されていたり、その分野の専門家が入門者向けにやさしく紹介する動画が提供されたり、WikiPediaにみられるように体系的な知識としてまとめられたりしている。この記事では、Haskellを自学自習するときに役立つインターネット上の教材を紹介する。

2.大学での講義から学ぶ

1)CS1501: Introduction to Haskell
Haskell Lectures - CS 1501
米国のバージニア大学で、2013年の春に行われた講義内容である。オンラインクラスのために作成されたもので、12回の講義で構成されている。その内容は、以下のとおりである。
Lecture1: Outlines class structure, syllabus, grading policies, and reference text. Introduces the origin and theory behind Haskell.
Lecture2: Introduces Lists and Tuples, the most important data structures in Haskell.
Lecture3: Explores Haskell's strong Type system and Typeclasses. Along the way, covers the concept of Currying and emphasizes modular coding.
Lecture4: Covers proper syntax in writing longer Haskell code. Introduces pattern matching and guards.
Lecture5: Shows how to create your own data types to customize Haskell for you needs. Also covers record syntax, type parameters, and modules.
Lecture6: Investigates higher order functions such as maps, filters, folds, and a whole lot more.
Lecture7: Presents the Haskell community by introducing hackage and cabal.
Lecture8: Begins the journey to investigate the IO Monad, covering basic input and output.
Lecture9: Enlightens the reader about Functors, Monoids, and Monads.
Lecture10: Reinforces good programming practices in the world of Haskell.
Lecture11: Demonstrates use of existing Haskell software.
Lecture12: Concludes this lecture series with a primer to Category Theory.

2)CIS194: Introduction to Haskell
ペンシルバニア大学でこの秋(2014年)に行われている講義である。米国での講義がどのように行われるかを時系列で観察するのによい。配布物には説明資料、宿題、プログラムリストが含まれている。現在までの講義の内容は以下のとおりである。
Week 1 (Thursday, 28 August): Introduction to Haskell
Week 2 (Thursday, 4 September): Working with Lists
Week 3 (11 September): Algebraic Data Types
Week 4 (18 September): Polymorphism
Week 5 (25 September): Type Classes
Week 6 (2 October): Monoids, I/O
Week 7 (16 October): Lazy evaluation
Week 8 (23 October): Monads

3)ビデオから学ぶ

1) Dr. Erik Maijerが

C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals, Chapter 1 of 13 | C9 Lectures: Erik Meijer - Functional Programming Fundamentals | Channel 9

Haskellを学ぶための良い教材をビデオで提供している。13回の講義からなっている。残念ながらそれぞれの講義にサブタイトルがつけられていないのでその内容を紹介できないが、分かりやすい英語なので、ここで学べば、、英語の力もHaskellの力もつけられて一挙両得である。