我想在Haskell中定義數據類型。該數據類型將被稱爲 節點。它將能夠包含參數類型a或Nothing。我定義它如此:構建參數數據類型
data Node a = Node (Maybe a) deriving (Show)
當我加載它在GHC以下工作 節點沒有
然而,當我如 鍵入此節點(6)
我得到以下錯誤:
Non type-variable argument in the constraint: Num (Maybe a)
(Use FlexibleContexts to permit this)
When checking that ‘it’ has the inferred type
it :: forall a. Num (Maybe a) => Node a
這是爲什麼?我究竟做錯了什麼?
非常感謝。它適用於Just。如果我想構建一個節點,它可以在不使用Just字詞的情況下獲取或者可以是空的,有沒有辦法做到這一點? – eitan
@eitan查看我的更新回答。 – syntagma
非常感謝。通過這個例子以及克里斯的解釋,我認爲我明白了。乾杯。 – eitan