式に興味がありますflip id
(宿題ではありませんgetOpt
。ドキュメントで見つけました)。
なぜこのタイプがあるのだろうか:
Prelude> :t (flip id)
(flip id) :: b -> (b -> c) -> c
たとえば、(flip id) 5 (+6)
を与え11
ます。
なぜid (+6) 5
11 が得られるかはわかっていますが、そのことを「理解」していませんflip id
。
私はペンと紙を使って自分でこれを理解しようとしましたが、できませんでした。誰か私にこれを説明してもらえますか? つまり、どのflip id
ようにして型を持つようになるのb -> (b -> c) -> c
でしょうか?