雑感・音楽等

音楽・数学・プログラミングに関する,思い付き・雑感を記す.

Haskellプログラミングの考え方

データ変換の連鎖

理想的なHaskellのソースは,

  • 欲しいデータの性質を記述したもの?
  • データの変換手順だけを記述したもの?

関数型というコンセプトの要は、ビジネスロジックを「データの変換」と捉えることにある。

型の細分化

データの意味と型をできる限り一致させるべき.
変換後のデータが既存の型で表せるとしても
新たな型を作り,別の意味を持つデータであることを明示すべきだ.

機能が必要十分―最小のものを使う

MaybeモナドをListモナドで代用してはいけない
事例:返す値の個数が0個1個の関数なのに,Listモナドを使った.
結果:「値の個数が1個以上の場合があるのではないか?」というモヤモヤ感を抱えることになった.