У меня есть пример системы F plymorphism, что я действительно не понимаю: Полиморфные приложение само
Если бы я удалить типы, он останется: \ е \ аф (фа), что делает No. смысл.
Можете ли вы мне помочь? Спасибо!
У меня есть пример системы F plymorphism, что я действительно не понимаю: Полиморфные приложение само
Если бы я удалить типы, он останется: \ е \ аф (фа), что делает No. смысл.
Можете ли вы мне помочь? Спасибо!
Снятый термин имеет смысл: в Haskell это будет \f a -> f (f a)
, довольно обычная функция, которая применяет свой первый аргумент к своему второму, а затем снова к результату.
Разница между \f a -> <body>
и \f.\a. <body>
есть только одна из обозначений. Если вы хотите, напишите термин Haskell \f -> \a -> f (f a)
, что эквивалентно, но синтаксический немного ближе к стертому System F.
(Обратите внимание, что double
не само приложение, которое будет \f -> f f
.)