Тип функции Prelude
flip
:
flip :: (a -> b -> c) -> b -> a -> c
I.e., он принимает одну двоичную функцию и два аргумента.
Тип функции Prelude
id
:
id :: a -> a
Но тип flip id
:
flip id :: a -> (a -> b) -> b
Как можно применить flip
к id
, когда id
является унарной функцией, а flip
требуется двоичная функция для первого arg?
кстати. flip id
похож на \ x f -> f x