В чем разница между этими полиморфными типами?
1 ответ
Решение
Зависит от того, насколько туго forall
квантификатор связывает. Предположим, что он связывается со следующим терминальным выражением (переменная или ()
-блок).
Первым станет (X0 -> X0) -> (X0 -> X0)
где X0
переменная нового типа.
Второй станет (X0 -> X0) -> forall X1. (X1 -> X1)
где X0
а также X1
свежие.
Третий - (bot -> X) -> (bot -> X)
где X
старый переплет, а бот необитаемый forall X. X
,