comp2 f g x = g (f x)
является синтаксическим сахаром для
comp2 = \f -> \g -> \x -> g (f x)
Аналогично
comp1 f g = g.f
является сахаром для
comp1 = \f -> \g -> g.f
Определение .
:
f1 . f2 = \x -> f1 (f2 x) -- Names of arguments have been changed to avoid confusion
Таким образом, если мы вставим определение в десагаредную форму comp1
, мы получим:
comp1 = \f -> \g -> \x -> g (f x)
Это в точности то же самое, что и десугардовая форма comp2
, поэтому ясно, что определения эквивалентны.