完成noob到Haskell這裏可能是一個甚至noobier問題。我試圖讓ghci輸出工作,並堅持實例聲明。我怎麼能申報「(顯示(堆棧 - >棧))」的實例給出:創建Haskell實例聲明
data Cmd = LD Int
| ADD
| MULT
| DUP
deriving Show
type Prog = [Cmd]
type Stack = [Int]
type D = Stack -> Stack
我一直想創建一個聲明:
instance Show D where show = Stack
但我所有的嘗試都導致非法實例聲明。任何幫助和/或引用非常感謝!
從代碼中不清楚你想要什麼,例如'show(\ s - > 1:s)'返回。 – sepp2k 2010-04-21 21:43:18
我有一個預感,你試圖爲D定義一個Show實例,不是因爲它真的是你想要的(很難想象它能做什麼),而是因爲編譯器告訴你你需要一個,因爲你有一個類型某處出錯;那可能嗎?如果是這樣,解決方案是解決你的其他代碼。 – 2010-04-23 07:25:05