int -> ('a ->' a) - PullRequest
       68

int -> ('a ->' a)

0 голосов
/ 05 декабря 2018

У меня есть вопрос, с которым я столкнулся, изучая SML.Требуется, чтобы возвращаемый тип был int -> ('a ->' a).Вот что я сделал:

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

Как я могу сделать тип возвращаемого значения int -> ('a ->' a), где 'a ->' a в скобках?Буду признателен за любую помощь, я пытаюсь понять это часами и не могу найти что-либо связанное с этим здесь или поиск в Google.

1 Ответ

0 голосов
/ 05 декабря 2018

A -> B -> C и A -> (B -> C) относятся к одному типу.Оператор -> в типах является ассоциативным справа.

По соглашению средство проверки типов не выводит лишние скобки, поэтому вы никогда не увидите напечатанный int -> ('a -> 'a) для вашего кода.

Выуже сделано: -)

...