5
のは、私はこのようなツリーを定義したいとしましょう:非難された-XDatatypeContextの代わりに?
{-# LANGUAGE DatatypeContexts #-}
class Node a where
getContent :: (Num a) => a
data (Node a) => Tree a = Leaf a
| Branch a (Tree a) (Tree a)
-XDatatypeContextsが廃止されます。それなしで似たようなことをすることは可能ですか?
ありがとうございます!あなたが意味すると思うが Branch ::(ノードa)=> a - >ツリーa - >ツリーa – Jake
@Jake:いいえ - 関数型シグネチャと同じように機能するので、最後の 'Tree a'が結果データ・タイプ。 'a - > Tree a - > Tree a'は1つのサブツリーしか持たないでしょう。あなたが現在持っている 'Branch'コンストラクタのタイプを比較してください。 –
ああ、そうだよ。 – Jake