タグ付けされた質問 「typeclass」

1
Haskell型クラスを使用して可換性を強制する
一緒に交差できる幾何オブジェクトの型クラスを定義したい: class Intersect a b c | a b -> c where intersect :: a -> b -> c -- Language extensions: -XMultiParamTypeClasses, -XFunctionalDependencies アイデアは、さまざまなタイプのオブジェクトを処理できる汎用の交差関数を持つことです。次のようなインスタンスを想像できます instance Intersect Line Plane (Maybe Point) where ... instance Intersect Plane Plane (Maybe Line) where ... しかし、交差点が可換であることも宣言したいと思います。 instance (Intersect a b c) => Intersect b …

2
HaskellでEnumのサブクラスにバインドされないのはなぜですか
Boundedインスタンスには、Enumの適切な実装が必要なようです。私は反例を個人的に考えることはできませんが、誰かが病的でないものを思いついた場合、私はこれがそうでない理由を理解します。 :i2つのタイプクラスを実行することから、現在標準ライブラリにある唯一の例外はタプルの場合のようです。これは、バインドされているが列挙型ではありません。ただし、すべてのBoundedタプルは、最後の要素をインクリメントし、maxBoundに到達したときにラップすることによって、まともな方法でEnumerableにする必要もあります。 この変更には、Enum値をトラバースするための安全な/ループ方法のために、Boundedへの追加predBやnextBそのようなものが含まれる可能性があります。この場合toEnum 0 :: (...)、(toEnum 0, toEnum 0, ...) :: (...)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.