アローを使ってプログラミングの問題を解いてみる。
HackerRankで、3つの積み木があり、
高さが揃うまで積み木を上から取っていけ、という問題に使った。
アローというのは、モナドやカテゴリと同じく、数学的な概念。
モナドが説明しにくいように、アローも抽象的で何ともわかりにくい。
モナドほど色々なことができないということになっているが、
試してみるともわりと出番は多かった。
制約があるのに、問題なく何か機能を実装できるなら、
そのほうが安全で、スパゲッティにもなりにくいはずである。
プログラム的には、アローの見た目通り、関数をつなげていく。
関数に引数を明示的に与えない、ポイントフリースタイルがメインになる。
>>>
やら|||
やら、記号が呪文ぽい感じだが、
やりようによっては簡潔になる。
一時期流行った。
少なくとも、>>>
は関数合成の.
逆版で、普通に有用。