入門Haskell
http://d.hatena.ne.jp/a-san/20060511#p1
先日出した正誤表の回答がやっときました。
ところが著者は最後のやつを、次のように修正、とおっしゃってるが・・・、
listToTree = foldl (\t (k, v) -> insertTree (k, v) t) emptyTree
以下のエラーが出る。(^^;
Hugs> :reload "C:\\user\\lisp\\Haskell\\BinTree.hs" ERROR file:C:\user\lisp\Haskell\BinTree.hs:63 - Unresolved to-level overloading *** Binding : listToTree *** Outstanding context : Ord b
で、明示的な型定義を追加したところ、問題なく動くようになりました。
listToTree :: Ord k => [(k,v)] -> BinTree (k,v) listToTree = foldl (\t (k, v) -> insertTree (k, v) t) emptyTree