Сегодня, играя с Haskell, я заметил, что можно сделать что-то вроде
($ 4) (> 3)
, что дает True
. Что здесь происходит? Было бы здорово иметь немного интуиции.
Мое предположение? Похоже, что ($ 4)
— это незавершенное функциональное приложение, но меня смущает то, что $
— это инфиксный оператор, поэтому он не должен выглядеть как (4 $)
? Это не компилируется, так что явно нет, что заставляет меня поверить, что я действительно не понимаю, что происходит. Термин (>3)
имеет для меня смысл, потому что если вы укажете что-то вроде (\x -> x 4) (>3)
, вы получите тот же результат.