두 종류 : int -> int -> int
과 int -> (int -> int)
이 같은가요?`int -> (int -> int)`를 얻는 방법?
let f x = fun y -> x + y + 1
으로 작성하면 utop은 int -> int -> int
을 반환합니다. 하지만 int를 매개 변수로 사용하고 int를 받아 int를 반환하는 함수가 필요합니다. 즉, int -> (int -> int)
이렇게 할 수있는 방법이 있습니까?
(’a * ’b -> ’c) -> (’a -> ’b -> ’c)
의 경우에도 let f g = fun a b -> g (a,b)
을 작성했지만 (’a * ’b -> ’c) -> ’a -> ’b -> ’c
을 반환하면 괄호가 제거됩니다. 하지만 왜?
결과로 새로운 함수가 반환되면 어쨌든 카레됩니까?
'->'는 오른쪽 연관입니다 – blgt