2016年11月13日日曜日

Haskell MTL(モナドトランスフォーマーライブラリ)の資料のまとめ

MTLを使うための資料を整理しました。

集めた資料を見てみると、まずは、モナド、モナドトランスフォーマーをよく理解して、ライブラリの各モナドを一つ一つ使えるようにするという流れがよさそうです。

モナドトランスフォーマーの記事を探すと、モナド自体はわかっている前提の記事が多いので、モナドになれていない場合は、モナドからやった方がいいと思います。

モナドは、実装だけを考えると、単なる型クラスにすぎません。Haskellの実装上は、モナド則を満たしてなくても使用できます。

まずは、モナドクラスの仕様をみて、実際にいくつかサンプルを作ってみてから、モナド則をみるといいと思います。

ここでは、ネットの記事をまとめましたが、手元にある本のモナド・モナドトランスフォーマーの箇所をしっかり読み込んでわからないところは解説記事を参照する方が、よく理解できると思います。

  • プログラミングHaskellは、シンプルでモナドの解説がしっかりしていて、haskellの入門におすすめですが、モナドトランスフォーマーの説明がないのでそこは他の資料が必要です。
  • すごいHaskell楽しく学ぼうモナドの解説が懇切丁寧です。プログラミングHaskellは、Functor, Applicativeなどの説明はないですが、こちらはそれぞれの関係が詳しく載っています。ただ、モナドトランスフォーマーの説明はありません。
  • 関数プログラミング入門 ―Haskellで学ぶ原理と技法こちらは、モナドトランスフォーマーの説明があります。

ライブラリの紹介記事はMTLで検索してもなかなか出てこないので、Control.Monad.Stateなど具体的なモジュール名で検索する方がよさそうです。

今回は、State, Reader, Writerの紹介記事をまとめました。

MTL、モナドトランスフォーマー全般

Control.Monad.State

Control.Monad.Reader/Control.Monad.Writer

0 件のコメント:

コメントを投稿