^
Haskell で Fraction データ型のインスタンスの作成に取り組んでいますが、演算子を実装できる場所があるかどうか疑問に思っています。
つまり、さまざまなタイプのインスタンスがいくつかありNum
、それらのインスタンス内で、、などの一般的な操作を定義してい+
ます-
。
これにより、データ型は、私が望むように通常の数値として動作します (つまり、のようなものを呼び出し(Frac 1 2) + (Frac 1 4)
て戻ることができますFrac 3 4
)
私がやろうとしているのは、^
直接実装することです。現在、次のように定義しています。
(|^|) :: Fraction -> Int -> Fraction
(|^|) f = foldr (*) mempty . flip replicate f
関数の名前を に変更しようとする^
と、Prelude の の定義と競合するため、エラーが発生します^
。演算子を使用できるようにするために、型にインスタンスをNum
与えることができる型はありますか?Fraction
^
ありがとう!