在Haskell中创建具有列表数据结构的set数据类型

时间:2016-03-07 06:05:42

标签: haskell data-structures set

  

在Haskell中编写插入和成员操作。确保在ML中   和Haskell您的Set数据类型与列表不同。在哈斯克尔,   将您的Set类型定义为Eq和Show类的实例。

android:background="#ffffffff"

我上面写的代码只是让它具有在列表上执行的功能。

有没有办法让这个成为一个班级?对不起,我刚刚学习函数式编程。有没有办法实际创建一个具有成员变量的Set类,如列表?

1 个答案:

答案 0 :(得分:4)

此处的数据类型为[a],已有此类实例可用,包括EqShow(顺便提一下)。

如果你想编写自己的实例,你应该newtype基础类型,类似于:

newtype Set a = Set { getSet :: [a] }

然后你可以写:

instance Show a => Show (Set a) where
    show (Set a) = ...

instance Eq a => Eq (Set a) where
    Set a == Set b = ...