從我的問題在這裏繼:How do I attach optional attributes to values?使用其他數據類型定義的數據類型
我試圖定義音樂的哈斯克爾表示。
我想要做的事情是:
data Chord = Chord Int Modality [Annotate] deriving (Eq, Show, Read)
其中,按照我的理解定義了一種新類型,是一個和絃。
然後,我希望能夠除其他事件和絃添加到得分,使得
data Event = Note Int | Chord Int Modality [Annotate] | Rest
但是,編譯說我試圖定義和絃的兩倍。
那麼,有沒有辦法在新的數據類型定義中使用早期定義的數據類型?我在做什麼看起來,對我來說,或多或少像經典的樹定義:
data Tree a = EmptyTree | Node a (Tree a) (Tree a) deriving (Show, Read, Eq)
它的工作正常。那麼,爲什麼在這個例子中使用「樹」,而不是我的「和絃」呢?
確定。作品。謝謝 – interstar