我有一點點曖昧類型變量的問題。我喜歡haskell,但這實際上我仍然無法處理。 這個問題很簡單,涉及到Text.Printf的printf。由於這個問題是很一般我就但在一些示例代碼:用printf和曖昧類型變量的問題
當然program = do
d <- addd 4 8
printf "%d" d
addd x y = return (x+y)
中printf的是進口的。然後編譯器給我一個Num和PrintfArg之間明顯的模糊的類型變量錯誤。我只是不知道在哪裏適合正確的類型簽名。
非常感謝您的幫助!但我不得不承認這看起來非常難看。它周圍沒有更漂亮的方法嗎?還有另一個理解問題: 爲什麼只有Num類型的addd返回值是不夠的?爲什麼我必須告訴haskell關於整數? –
啊我看到這是由於要求d是整數類型的合成%d。 –