関数型プログラミング言語Haskellat TECH
関数型プログラミング言語Haskell - 暇つぶし2ch461:名無しさん@Emacs
02/10/30 00:05
>>761 ありがとうございます。
CharとStringの扱いですが、なかなか難しいですね。
おなじくhugs上で
>("aaa","b") == ("aaa", 'b')
というのはもちろんエラーになるわけですが、
Stringとなって欲しいようなところで[Char]と評価されて
しまうので。。。

チュートリアルの図書館データベースの問題で、

type Person = String
type Book  = String
type Record = (Person, Book)

-- 図書の返却を行う関数
isData :: Record -> Record -> Bool
isData record1 record2
  = record1 /= record2
returnLoan :: Database -> Person -> Book -> Database
returnLoan remove_person remove_book
  = [ record | record <- exampleBase, isData record (remove_person, remove_book)]

これだと
ERROR "library.hs":54 - Type error in application
*** Expression : isData record (remove_person,remove_book)
*** Term : (remove_person,remove_book)
*** Type : ([([Char],[Char])],[Char])
*** Does not match : ([Char],[Char])
というエラーが出ます。んー、わからんです。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch