これはHaskell Advent Calendar その1 8日目の記事です。 前日の記事は@nobsunさんのTree: 親子関係の付け替えでした。 対象者 すごいH読んだ 型とか型クラスわかる hlintにArrow使えって怒られたことがある 反駁不可パターンはわかる Arrowとは プログラミングには純粋な関数ではないが、関数のような雰囲気を持った構成要素が存在する。 この記事ではこれを計算と呼ぶことにする。型クラスを使えば、こういった計算に共通する構造を見つけることで、インターフェイスを提供できる。こういった抽象度の高いインターフェイスを提供することの有用性は語るまでもないだろう。ざっくり言えば実はこれがArrowである。我々が呼吸するように使う(?)Monadもこれに類するものである。ArrowはMonadと違い、複数の入力を消費できる、入力値による選択が行える、フィードバック