Rubyでポイントフリー続きの補足
def g ->x, y { x * y }.curry end def f ->y { y * 4 } end def foo(x, y) f.(g.(x).(y)) end
あんなわけのわからんことしなくてもこれでいけた。
def foo # f.(g.(x).(y)) # (f << g.(x)).(y) # (f.method(:<<) << g).(x).(y) (f.method(:<<) << g) # haskelの(f.).gと大体同じになった end foo.(2).(2) #=> 16
関数合成のほうもλにしたりとかわけのわからないことする必要なかった。