У меня вопрос, с которым я столкнулся, изучая SML. Он требует, чтобы возвращаемый тип был int -> (’a ->’ a). Вот что я сделал:
- fn x:int => fn y => y;
val it = fn : int -> 'a -> 'a
Как я могу сделать возвращаемый тип int -> ('a ->' a), где 'a ->' a находится в скобках? Любая помощь будет принята с благодарностью, я часами пытался разобраться в ней и не могу найти ничего, связанного с этим здесь или поиском в Google.
A -> B -> C
и A -> (B -> C)
относятся к одному типу. Оператор ->
в типах является правоассоциативным.
По соглашению, средство проверки типов не выводит лишние круглые скобки, поэтому вы никогда не увидите напечатанного int -> ('a -> 'a)
для вашего кода.
Вы уже сделали. :-)
Я понимаю. Большое спасибо!