Fw: [Haskell-cafe] IO within parser

Gregory Propf gregorypropf at yahoo.com
Sun Aug 12 01:32:04 EDT 2007

Well the docs ( http://legacy.cs.uu.nl/daan/download/parsec/parsec.html ) hint that setInput and getInput are good for this.  I can certainly how they *would* be - if I knew how to pull in files within the parse.  Actually I use those functions to do multiple recursive passes but of course you already have the output from the first pass in the parser there.  runParser only *looks* like it takes input from a file.  Actually it just parses the string you give it and uses the filename arg for error messages only.  You still need a way to pull the data into the string from the file.  

(Note: I accidentally sent this to Andrew instead of the list originally)

----- Original Message ----
From: Andrew Coppin <andrewcoppin at btinternet.com>
To: haskell-cafe at haskell.org
Sent: Saturday, August 11, 2007 1:25:16 PM
Subject: Re: [Haskell-cafe] IO within parser

Gregory Propf wrote:
> I've been struggling with writing a parser that needs to parse include 
> files within source files.  So far I cannot get this to work (in 
> reality to get work done I wrote a kludge that returns a list of 
> include filenames to be run later in a pure IO function.  I realized 
> that this just amounted to creating my own half-assed monad system so 
> I really don't want to use this approach).  I have read the tutorials 
> I could find on monad transformers but I still don't see what's going 
> on.  I'm using the Parsec parser library. Here's an
 simple example of 
> what I've tried.  I also tried using liftIO and got a message about 
> needing to add an instance of MonadIO.  This made more sense but the 
> type of liftIO is baffling

The fun part is that Parsec already has a feature for include files... 
(I can't remember where the heck it is or how you use it though.)

Haskell-Cafe mailing list
Haskell-Cafe at haskell.org

      Fussy? Opinionated? Impossible to please? Perfect.  Join Yahoo!'s user panel and lay it on us.

Choose the right car based on your needs.  Check out Yahoo! Autos new Car Finder tool.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20070811/b429257d/attachment.htm

More information about the Haskell-Cafe mailing list