具有二元函数的组合

常规构图适用于一元函数。在二进制的情况下,我们可以定义

(f .: g) x y = f (g x y)          -- which is also
             = f ((g x) y)
             = (f . g x) y        -- by definition of (.)
             = (f .) (g x) y
             = ((f .) . g) x y   

因此,通过 eta 收缩来实现,此外,

(.:) f g    = ((f .) . g)
            = (.) (f .) g
            = (.) ((.) f) g
            = ((.) . (.)) f g

所以 (.:) = ((.) . (.)),一个半着名的定义。

例子:

(map (+1) .: filter) even [1..5]      --  [3,5]
(length   .: filter) even [1..5]      --  2