51981


オブジェクト指向は、それ自体はそこまで難しくない概念ですが、それを実際のアプリケーションに落としこもうとする際には考慮するべきことが多く、なので、 GoF
に代表されるような、オブジェクト指向におけるデザインパターンが編み出されてきました。

Haskell で、プログラムの中心的な役割を果たすのはモナド(do 記法の syntax sugar
がある、潰せる構造)ですが、それを実際のアプリケーションに落としていこうとすると、少し飛躍があるような気がします。

### 質問

Haskell
プログラミングにおいて、オブジェクト指向におけるデザインパターンのようなものはありますでしょうか。もう少し具体的にいうと、様々なモナドがある中で、それらをどのように組み合わせて実際のアプリケーションを構築していくべきかについてのまとまった考え方、のようなものはありますか？


CC BY-SA 4.0
2019-01-15T05:16:34.613
51980
2019-01-15T12:19:05.690
2019-01-15T12:19:05.690
19110
754
question
haskell
Haskell のモナドに関するデザインパターン的なものはありますか？


よく知られたものとして、ReaderT Design Patternというのを挙げておきます。  
実際にはReaderT以外の使い方についても言及しているし。

<https://www.fpcomplete.com/blog/2017/06/readert-design-pattern>

ざっくり言うと、

  * アプリケーション全体としては`ReaderT IO`を使え
  * その他の`IO`が絡まない、純粋な関数では適宜`StateT`や`WriterT`を使え

といった内容です。


CC BY-SA 4.0
2019-01-15T06:07:33.233
51981
2019-01-15T06:07:33.233
8007
51980
answer