我正在練習LYAH。缺少相應的綁定 - 這是什麼意思?怎麼運行的?
phoneBook.hs文件包含以下代碼:
phoneBook :: [(String, String)]
雖然試圖編譯上述代碼,我收到以下錯誤:
*Main> :load "/home/optimight/phoneBook.hs" [1 of 1] Compiling Main (/home/optimight/phoneBook.hs, interpreted)
/home/optimight/phoneBook.hs:1:1: The type signature for `phoneBook' lacks an accompanying binding Failed, modules loaded: none.
問題brano的答案,後續評論後加入這個答案:我們如何提供上述類型簽名的實現?
如果我補充一點:
type phoneBook = [(String, String)]
我收到以下錯誤:
Prelude> :load "/home/optimight/phoneBook.hs" [1 of 1] Compiling Main (/home/optimight/phoneBook.hs, interpreted)
/home/optimight/phoneBook.hs:2:6: Malformed head of type or class declaration: phoneBook Failed, modules loaded: none
爲什麼強制提供實施?如果我正在開發一個haskell應用程序,並且如果phoneBook是它的一部分,我將永遠不會捆綁任何數據。這將是一個空白的電話簿。 – Optimight 2012-07-27 07:43:29
我們如何爲此提供實施? – Optimight 2012-07-27 07:44:15
@優化例如'phoneBook = []'。無論您選擇放在這裏的價值是整個程序執行過程中的價值。 「phoneBook」應該不是定義頂級值,而應該是一個函數參數或「State」或「StateT」函數中的狀態(的一部分)。 – dave4420 2012-07-27 07:48:41