haskellでXMLファイルを解析するためのHXTに関するフレンドリーなチュートリアルチュートリアルを開始しました。
チュートリアルの最初のページでは、xmlファイルからゲストを取得しようとします。そのために次の機能があります。
data Guest = Guest {firstName, lastName :: String}
deriving (Show, Eq)
getGuest = deep (isElem >>> hasName "guest") >>>
proc x -> do
fname <- getText <<< getChildren <<< deep (hasName "fname") -< x
lname <- getText <<< getChildren <<< deep (hasName "lname") -< x
returnA -< Guest {firstName = fname, lastName = lname}
しかし、インタプリタにファイルを読み込もうとしたときghci
。私はまだこのエラーが発生します:
Prelude> :l hxt_tuto.hs
hxt_tuto.hs:15:37: parse error on input `->'
Failed, modules loaded: none.
式の演算子->に解析エラーがあるという事実を指摘してproc x -> do
、私は助けなしに多くの変更を試みました。このすべてを一行で書くようなものです
getGuest2 = deep (isElem >>> hasName "guest") >>> proc x -> do { fname <- getText <<< getChildren <<< deep (hasName "fname") -< x; lname <- getText <<< getChildren <<< deep (hasName "lname") -< x; returnA -< Guest {firstName = fname, lastName = lname }}
誰かが私が見逃したものを理解するのを手伝ってくれますか?
返信ありがとうございます!