我有一些代碼,我想用一個邊緣追加到節點的數據結構:哈斯克爾奧德實例與集
import Data.Set (Set)
import qualified Data.Set as Set
data Node = Vertex String (Set Node)
deriving Show
addEdge :: Node -> Node -> Node
addEdge (Vertex name neighbors) destination
| Set.null neighbors = Vertex name (Set.singleton destination)
| otherwise = Vertex name (Set.insert destination neighbors)
然而,當我嘗試編譯我得到這個錯誤:
No instance for (Ord Node)
arising from a use of `Set.insert'
據我所知,Set.insert只需要一個值和一個集合來插入它。什麼是Ord?
派生語句必須加括號,但是,這似乎工作。謝謝。 – 2010-06-17 20:49:07