我目前正在嘗試爲原始算術功能編寫一個小的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"
但我不能得到顯示(INT - >內部 - >智力)的一個實例。我試過這樣:
instance Show (Int -> Int -> Int) where
show op = show "asdf"
但它不起作用。 WinHugs只是返回錯誤
Syntax error in instance head (variable expected)
它甚至可以定義顯示功能?如果是這樣,我怎麼解決這個問題?
這就是說,不可能定義'Show'來實際給你更多關於函數的細節。 –
當然可以。它可以顯示類型(通過Typeable給出);或者它可以顯示一些輸入和輸出(如在QuickCheck中完成的那樣)。 –
...是的。好的。抱歉。但是,它不能顯示實現或名稱。 –