歴史と思想から型クラス・モナド・並行性まで、GHCで学ぶ実践的な関数型プログラミングの全体像
Sub Category
- Programming Languages
{inAds}
Objectives
- Haskellの歴史・思想・生態系を俯瞰し、他の関数型言語との位置関係を説明できる
- ghci、Cabal、Stack、Hackage/Stackageを使いこなしてプロジェクトを構築できる
- let/where、パターンマッチ、ガード、case式を使い分けて宣言的なコードを書ける
- カリー化、部分適用、高階関数、関数合成を駆使して再利用性の高い関数を設計できる
- data、newtype、レコード構文、Maybe/Eitherで安全なドメイン型を表現できる
- Functor、Applicative、Monadの階層を理解し、do記法とIOで副作用を型で隔離できる
- 型クラスを自作し、derivingと制約付き多相で汎用的なAPIを設計できる
- 遅延評価の利点と落とし穴(スペースリーク)を把握し、正格性で性能を制御できる
- forkIO、MVar、async、STMを用いて安全な並行プログラムを記述できる
- bracketとwithFileでリソースを確実に解放する例外安全なコードが書ける
Pre Requisites
- いずれかのプログラミング言語での基本的な開発経験(変数、関数、制御構造)
- コマンドラインでのファイル操作とプログラム実行ができること
- テキストエディタまたはIDEでソースコードを編集できる環境
- 抽象的な概念や数学的な記法に粘り強く向き合う知的体力
- GHCとghciをローカルにインストールできるPC(Windows/macOS/Linux)
FAQ
- Q. How long do I have access to the course materials?
- A. You can view and review the lecture materials indefinitely, like an on-demand channel.
- Q. Can I take my courses with me wherever I go?
- A. Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
{inAds}
Coupon Code(s)