この問題を簡単なHXT機能で修復する方法
-
14-12-2019 - |
質問
私はフレンドリーなチュートリアルを始めました XMLファイルを解析するにはHaskell。
チュートリアルの最初のページで、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.
.
Expression 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 }}
.
誰かが私が逃したものを理解するのを手伝ってくれる?
返信をありがとう!
解決
を載せることを忘れましたか
{-# LANGUAGE Arrows, NoMonomorphismRestriction #-}
import Text.XML.HXT.Core
.
あなたのファイルの上部に?
所属していません StackOverflow