gpt4 book ai didi

haskell - 简单的 Haskell 实例问题

转载 作者:行者123 更新时间:2023-12-01 10:10:44 25 4
gpt4 key购买 nike

我正在尝试不同的数据结构来实现 Prim 的算法。所以我做了一个类来抽象我想做的事情:

class VertexContainer a where
contains :: a -> Vertex -> Bool
insert :: a -> WeightedEdge -> a
numVertices :: a -> Int

现在我想使用一个堆(来自 Data.Heap)作为我的顶点容器。但是我终生无法弄清楚语法。从 insert 声明中可以看出,容器只能容纳 WeightedEdge,这是一种数据类型。所以我尝试了:

instance VertexContainer (Heap MinPolicy WeightedEdge) where
contains _ _ = True

它告诉我这是一个非法的类型同义词。我尝试了各种其他排列,但似乎都不起作用。谁能帮帮我?

最佳答案

如果您阅读了整个错误消息,您会发现它告诉您如何能够在实例声明中使用类型同义词,即通过使用语言扩展 TypeSynonymInstances。例如,您可以在命令行上传递 -XTypeSynonymInstances。

关于haskell - 简单的 Haskell 实例问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5363398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com