Naeem Khan
Naeem Khan

Reputation: 960

int -> ('a -> 'a)

I have a question that I came across studying SML. It requires the return type to be int -> (’a -> ’a). This is what I have done:

- fn x:int => fn y => y;
val it = fn : int -> 'a -> 'a

How can I make the return type to be int -> ('a -> 'a) where 'a -> 'a is in brackets? Any help would be appreciated, I have been trying it figure it out for hours and can't find anything related to it here or searching on Google.

Upvotes: 3

Views: 74

Answers (1)

melpomene
melpomene

Reputation: 85897

A -> B -> C and A -> (B -> C) are the same type. The -> operator in types is right associative.

By convention the type checker doesn't print redundant parentheses, so you'll never see int -> ('a -> 'a) printed for your code.

You're already done. :-)

Upvotes: 5

Related Questions