私は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単語を使わずに空であるNodeを構築したいのであれば、それを行う方法はありますか? – eitan
@eitan最新の回答を参照してください。 – syntagma
ありがとうございました。この例では、クリスの説明と一緒に私はそれを得たと思う。乾杯。 – eitan