* Roger Mason <rma...@mun.ca> [2013-05-21 12:22:53-0230] > Thus far, I have: > -- derived from RWH > -- file: ch16/csv2.hs > import Text.ParserCombinators.Parsec > > headerLines = endBy csvFile endHeader > csvFile = endBy line eol > line = sepBy cell (char ',') > cell = many (noneOf ",\n") > eol = char '\n' > > parseCSV :: String -> Either ParseError [[String]] > parseCSV input = parse csvFile "(unknown)" input > > parseHDR :: String -> Either ParseError [[String]] > parseHDR input = parse headerLines "(unknown)" input > > endHeader = string "Energy Counts" > > This loads into GHCi (7.6.2) OK. However, when I test it: > > parseHDR "Bruker Nano GmbH Berlin, Germany\nEsprit 1.9\n\nDate: > 02/05/2013 10:06:49 AM\nReal time: 15000\nEnergy Counts" > > Not in scope: `parseHDR' > > which makes sense because > > ghci> :t endHeader > > <interactive>:1:1: Not in scope: `endHeader' > > Clearly, my naiive implementation of endHeader is no good.
Hi Roger, "Not in scope" means that that thing is not defined. So it's not a problem with your implementation, but with the way you load it. If you copy-paste your ghci session here, you may get further help. Roman _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe