5

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

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

質問

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

nekketsuuu
  • 23,683
  • 11
  • 50
  • 115
Yuki Inoue
  • 16,805
  • 19
  • 80
  • 196

1 Answers1

4

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

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

ざっくり言うと、

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

といった内容です。

YAMAMOTO Yuji
  • 953
  • 1
  • 5
  • 13