Оператор приложения функции ($) в F #?

Скажем, у меня есть этот код

let identifier = spaces_surrounded (many1Satisfy isLetter)

Мне было интересно, существует ли какая-либо встроенная функция F #, которая позволила мне реорганизовать ее на

let identifier = spaces_surrounded $ many1Satisfy isLetter

то есть что-то вроде

let ($) f1 f2 = f1 (f2)

(то есть, если я не ошибаюсь, мои навыки Хаскелла не слишком острые.).

Ответ 1

Стандартным идиомом F # для этого является оператор прямой трубы |>, если бы вы переписали

let identifier = spaces_surrounded (many1Satisfy isLetter)

как

let identifier = many1Satisfy isLetter |> spaces_surrounded 

вы также можете использовать оператор обратной трубы <|, если вы хотите сохранить исходный порядок, но это, как правило, немного реже.

let identifier = spaces_surrounded <| many1Satisfy isLetter