Haskell:"追加"类型类

Cli*_*ton 3 haskell typeclass

根据我的理解,Foldable基本上代表了具有许多可以迭代的相同类型的元素的结构,即列表,地图,集合等.

是否有类似AppendableInsertable基本上代表可以添加元素的结构?当然,不能保证检索哪些元素的顺序.

如果已经有一个课,我宁愿不自己创建一个课程.

Chr*_*lor 7

您应该查看Data.Collections包.它包含Unfoldable带有以下方法的类型类:

class Unfoldable c i | c -> i where
  insert :: i -> c -> c
  empty :: c
  singleton :: i -> c
Run Code Online (Sandbox Code Playgroud)

它还提供了insertManyinsertManySorted方法,以插入所有从一个元件FoldableUnfoldable.

如果你让你的类型的两个实例Foldable,并Unfoldable然后你既可以插入和检索从它的元素.