私はlearnyouahaskellを使用してHaskellを学習してきましたが、試行しているプログラムで問題が発生しました。三角形の辺を表す3つのNum入力を評価し、それらが直角三角形を表すかどうかを確認したいと思います。これが私がこれまでに持っているものです:
isRight :: (Num a) => a -> a -> a -> Bool
isRight x y z = (x^2 + y^2) == z^2
明らかに、辺の順序を変えるには関数を長くする必要がありますが、GCHIでこのエラーが発生したため、今のところ関数を使用できません。
Could not deduce (Eq a) arising from use of '==' from the context (Num a)
bound by the type signature for
isRight :: Num a => a -> a -> a -> Bool
at isRight.hs:2:1-34
明らかに、Haskellでブール型を返す方法がわかりません。また、この問題に関するヘルプをオンラインで見つけることができませんでした。誰かが私にこれを説明するのを手伝ってくれるなら、私は感謝するでしょう。