type Foo = int -> int라 두고
let f x = x + 1이면
f는 당연히 int -> int타입으로 나오지 Foo타입으론 안나옴
let f : Foo = fun x -> x + 1
명시적으로 선언해도 우리 똑똑한 컴파일러 성님께서 위랑 똑같이 인식함
let f : Foo =
let foo x = x + 1
foo
이래야 Foo로 인식함 위같이해도 쓰는데 문제는 없긴한데
Foo로 안나오면 alias를 쓰는 의미가 없음
그래서 type Foo = Foo of (int -> int) 같이 쓰기도 하더라
let f x = x + 1이면
f는 당연히 int -> int타입으로 나오지 Foo타입으론 안나옴
let f : Foo = fun x -> x + 1
명시적으로 선언해도 우리 똑똑한 컴파일러 성님께서 위랑 똑같이 인식함
let f : Foo =
let foo x = x + 1
foo
이래야 Foo로 인식함 위같이해도 쓰는데 문제는 없긴한데
Foo로 안나오면 alias를 쓰는 의미가 없음
그래서 type Foo = Foo of (int -> int) 같이 쓰기도 하더라
댓글 0