ここでは、初心者の方が苦労しています。Haskell:セットの型クラスを定義するにはどうしたらいいですか?
私はセットの型クラスを定義しようとしています。この場合、「存在する」という定義だけが必要です。 'exists'は設定された項目に対してセットと機能を行い、ブール値は を返します。ハスケルでどのように定義できますか?
正しい方向にも以下のことがありますか?クラスのためにあまりにも多くのパラメータ `設定します。結果は(
- だから、
-- Set.hs --
class Set a b where
exists :: a -> (b -> Bool) -> Bool
-- ListSet.hs --
instance Set ListSet a where
exists a f = True
..「存在」がために型クラスの定義とリストとセットの 実装は、今のところはtrueを返すあり')
もちろん、後者の場合は、要素型をセット型の最後の型パラメータにする必要があります。これは 'a - > Bool'のインスタンスを作成する場合のように、必ずしも可能ではありません。一方、関連タイプのファミリーは、それだけで問題は解決します。 – Carl
ありがとう!私は二番目の方法が働いている!私はそこに何が起こっているのか分かりませんが、うまくいけばそれは私には明らかです... – tero