私は現在、プリミティブ算術関数の小さなShowインスタンスを作成しようとしています。
目標は、関数のリストを表示可能にすることです。
showの非常に単純な関数は次のようになります。
showOp :: (Int -> Int -> Int) -> String
showOp op
| op 3 3 == 6 = "plus"
| op 3 3 == 0 = "minus"
| op 3 3 == 9 = "times"
| op 3 3 == 1 = "divide"
| otherwise = "undefined"
しかし、Show for(Int-> Int-> Int)のインスタンスを取得できません。私はそのようにそれを試しました:
instance Show (Int -> Int -> Int) where
show op = show "asdf"
しかし、それは機能しません。WinHugsはエラーを返すだけです
Syntax error in instance head (variable expected)
関数の表示を定義することも可能ですか?もしそうなら、どうすればその問題に取り組むことができますか?