Будет ли OCaml преобразовывать функцию с несколькими аргументами в карри или наоборот?

Когда я изучал основы OCaml, мне сказали, что каждая функция в OCaml на самом деле является функцией только с одним параметром. Функция с несколькими аргументами на самом деле является функцией, которая принимает один аргумент и возвращает функцию, которая принимает следующий аргумент argumetn и возвращает ....

Это карри, я понял.

Итак, мой вопрос:

Случай 1

если я сделаю

let plus x y = x + y

Внутри OCaml при компиляции OCaml изменит его наlet plus = fun x -> fun y -> x + y?

или наоборот

случай 2

Если я сделаю

let plus = fun x -> fun y -> x + y

OCaml преобразует его вlet plus x y = x + y?

Какой случай верный? Что сделал корректный компилятор OCaml в правильном случае?

Кроме того, еслислучай 2 верно, тогда какой смысл считать, что OCaml делает карри? Я имею в виду, что на самом деле все происходит наоборот, верно?

Этот вопрос на самом деле связан сПонимать ядро ​​`Fn.const`

Ответы на вопрос(4)

Ваш ответ на вопрос