Интервал -> ('а ->' а)

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

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

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

Введение в одну из самых важных концепций в React - функциональное программирование
Введение в одну из самых важных концепций в React - функциональное программирование
React разработан с использованием концепции функционального программирования, поэтому понимание функционального программирования важно для изучения...
Фото ️🔁 Radek Jedynak 🔃 on ️🔁 Unsplash 🔃
Фото ️🔁 Radek Jedynak 🔃 on ️🔁 Unsplash 🔃
Что такое Java 8 Streams API? Java 8 Stream API
3
0
64
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

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

Вы уже сделали. :-)

Я понимаю. Большое спасибо!

Naeem Khan 05.12.2018 11:40

Другие вопросы по теме