Types 为什么';AT支持递归类型吗?

Types 为什么';AT支持递归类型吗?,types,ats,Types,Ats,据介绍,ATS“用于支持”递归类型。删除此功能的基本原理是什么?此外,是否有计划在未来重新引入它?TIA。直接支持递归类型将使检查类型是否相等变得更加复杂,也就是说,确定两种类型是否相等。此外,使用数据类型可以满足递归类型的最典型需求。此外,还可以介绍如下内容: abstype fix_t(f: type -> type) prfun fold{f:type->type}(x: !f(fix_t(f)) >> fix_t(f)): void prfun unfold{f

据介绍,ATS“用于支持”递归类型。删除此功能的基本原理是什么?此外,是否有计划在未来重新引入它?TIA。

直接支持递归类型将使检查类型是否相等变得更加复杂,也就是说,确定两种类型是否相等。此外,使用数据类型可以满足递归类型的最典型需求。此外,还可以介绍如下内容:

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
以下链接可能相关:

目前,没有计划将递归类型重新引入ATS