Я заметил, что в OCaml нам разрешено использовать Карринг функцию какПочему кэрри функции в OCaml, но не в Java
let add =
fun y -> (fun x -> x + y)
;;
Но мой профессор сказал, что такой формат не допускается в Java. Например, с учетом метода foo1, можно вернуть foo1 при выполнении foo2. Это обоснованное объяснение? Если нет, что приводит к этой разнице между Java и OCaml?
int foo1(int a, ...) {
int foo2(...) {
//main body
}
}
Поскольку Ocaml и Java - это разные языки? Почему вы думаете, что все, что разрешено на одном языке, должно быть действительным в другом? Но обратите внимание, что вы действительно можете сделать это на Java 8. – Tunaki
@Tunaki Мне просто интересно, что происходит под сценой. –