F# | Какой тип функции имеет функция с параметром функцией?

Допустим, у меня есть функция, суммирует 2 числа:

let add (x: float32, y: float32) : float32 = 
    x + y

printfn "%f" add(x, y)

Здесь тип функции таков:

float32 -> float32 -> float32

Но что если я потребую в параметрах функции какую либо функцию, и вызову её?

let add (x: float32, y: float32) =
    x + y

let operation func (x: float32, y: float32) =
    func x y

Какой тип функции у функции operation?


Ответы (1 шт):

Автор решения: Pavel Mayorov

Тип вашей функции operation вот такой:

(float32 -> float32 -> 'a) -> float32 * float32 -> 'a
→ Ссылка