1
this answerによると、ATSは再帰型をサポートするために使用されます。この機能を削除する理由は何ですか?また、将来再導入する計画はありますか? TIA。ATSが再帰型をサポートしないのはなぜですか?
this answerによると、ATSは再帰型をサポートするために使用されます。この機能を削除する理由は何ですか?また、将来再導入する計画はありますか? TIA。ATSが再帰型をサポートしないのはなぜですか?
再帰型を直接サポートすると、型の等価性をチェックすること、つまり2つの型が等しいかどうかを判断することがより複雑になります。また、再帰型の最も一般的な必要性は、データ型を使用することで実現できます。
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
次のリンクは、関連するかもしれない:また、1のようなものを導入することができます
現在を、バックATSへの再帰的な型を再導入する予定はありません。