我想創建一個類型來存儲一些通用信息,對於我來說,這個類型是 分子,其中我存儲化學圖和分子屬性。Haskell通用數據結構
data Molecule = Molecule {
name :: Maybe String,
graph :: Gr Atom Bond,
property :: Maybe [Property] -- that's a question
} deriving(Show)
屬性我要代表作爲元組
type Property a = (String,a)
因爲一個屬性可能具有任何類型:float,INT,字符串e.t.c.
的問題是如何形成的分子數據結構,所以我將能夠收集任何類型的分子特性的任何數字。如果我做
data Molecule a = Molecule {
name :: Maybe String,
graph :: Gr Atom Bond,
property :: Maybe [Property a]
} deriving(Show)
我必須直接指定一種類型,當我創建一個分子。
這裏的問題是(總是)像這樣:你想要做什麼*做一個屬性?假設你可以在其中放置任何類型。現在你有一個任何東西的列表。你通常對這樣的列表做什麼? –