2
私はタイプFoo
を持っていると私はGHCiの中でそれを使用することができるように、それShow
のインスタンスにしたい:インスタンスを定義するときにあいまいなエラーが発生するのはなぜですか?
data Foo = Foo
instance Show Foo where
show Foo = "Foo"
私はそれを使用しようとすると、しかし、私はあいまいな出現エラーが表示されます。
ghci> show Foo
<interactive>:4:1:
Ambiguous occurrence `show'
It could refer to either `Main.show', defined at Foo.hs:4:1
or `Prelude.show',
imported from `Prelude' at Foo.hs:1:1
(and originally defined in `GHC.Show')
なぜですか?私はちょうどtypeclassに属する関数を定義しました、そうではありませんか?
注:この質問は最小のジェネリックであるように意図されています(https://stackoverflow.com/questions/35855170/why-shouldnt-i-mix-tabs-and-spaces)より頻繁に尋ねられるハスケルの質問の1つの変形。 – Zeta