Это означает состав функции.
См. этот вопрос .
Обратите внимание, что f.g.h x
не эквивалентно (f.g.h) x
, потому что оно интерпретируется как f.g.(h x)
, которое не проверяет тип, если (h x) не возвращает функцию.
Здесь оператор $ может пригодиться: f.g.h $ x
превращает x из параметра в h
в параметр всего выражения. И поэтому он становится эквивалентным f(g(h x))
, и труба снова работает.