计算机科学

首页 > 计算机科学

递归类型

2018-07-27 09:56:52     所属分类:数据结构

在计算机编程语言中,递归类型(又名:递归定义隐含类型隐含定义)是一种特殊的数据类型,它表示自身内部可能包含其它的同样类型的值。

示例

以下是一个在Haskell中使用链表类型的一个列子:

data List a = Nil | Cons a (List a)

这表示a的链表s可以是一个空表或一个cons单元包含了一个'a'(链表的“头”)和另一个链表(“尾”)。

递归不允许在Miranda语言中和Haskell的同义类型中出现,所以以下的Haskell类型是非法的

type Bad = (Int, Bad)
type Evil = Bool -> Evil

相反地,表面上是相等的代数数据类型却是可以的:

data Good = Pair Int Good
data Fine = Fun (Bool->Fine)

本条目部分或全部内容出自以GFDL授权发布的《自由线上电脑词典》(FOLDOC)。

感谢您的支持,我会继续努力的!

扫码支持
1分,2分不嫌少,钱不钱的无所谓,重要的是你的话语激励我前行!

愿你每天温暖如春!!!

显示全文

取消

感谢您的支持,我会继续努力的!

扫码支持
无需打赏可直接关闭阅读全文
1分,2分不嫌少,钱不钱的无所谓,重要的是你的话语激励我前行!

愿你每天温暖如春!!!


上一篇:堆栈
下一篇:八叉树
相关推荐