我要代表在Haskell以下面的方式的曲线图:Haskell的图形数据类型表示
对于我要存储它的值和相邻节点的列表中的每个节点。我遇到困难的问题是我希望将相邻节点存储为其他节点的引用。例如,我希望节点ny被存储为(“NY”(l p)),其中l和p是相邻节点,而不是(“NY”(“伦敦”“巴黎”))。
我想是这样的:
data Node a = Node { value :: a
, neighbors :: [Node a]
}deriving (Show)
let n1 = Node {value=1, neighbors=[n2]}
let n2 = Node {value=1, neighbors=[n1 n3]}
let n3 = Node {value=1, neighbors=[n2]}
但我得到的连接错误,出租。我究竟做错了什么 ?
你可能习惯使用' let'在ghci提示符下,但在实际的haskell程序中不需要顶层。 – 2010-05-07 07:10:42