2016-12-07 29 views

ответ

1

Поддерживая рекурсивные типы напрямую, он будет намного более привлекательным для проверки равенства типов, то есть для определения того, являются ли два типа равными. Кроме того, наиболее типичная потребность в рекурсивных типах может быть выполнена с использованием типов данных. Кроме того, можно ввести что-то вроде:

abstype fix_t(f: type -> type) 

prfun fold{f:type->type}(x: !f(fix_t(f)) >> fix_t(f)): void 
prfun unfold{f:type->type}(x: !fix_t(f) >> f(fix_t(f))): void 

Следующая ссылка может быть полезной:

https://groups.google.com/forum/#!msg/ats-lang-users/tfEnAR2vIOA/aqYgEwaGBAAJ;context-place=forum/ats-lang-users

В настоящее время не существует никакого плана, чтобы повторно ввести рекурсивные типы обратно в ОВД.

 Смежные вопросы

  • Нет связанных вопросов^_^