<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman, new york, times, serif;font-size:12pt"><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><span>Well the docs ( <a rel="nofollow" target="_blank" href="http://legacy.cs.uu.nl/daan/download/parsec/parsec.html">http://legacy.cs.uu.nl/daan/download/parsec/parsec.html</a> ) hint that setInput and getInput are good for this.&nbsp; I can certainly how they *would* be - if I knew how to pull in files within the parse.&nbsp; 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.&nbsp; runParser only *looks* like it takes input from a file.&nbsp; Actually it just parses the string you give it and uses the filename arg for error messages
 only.&nbsp; You still need a way to pull the data into the string from the file.&nbsp; <br><br>(Note: I accidentally sent this to Andrew instead of the list originally)</span><br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">----- Original Message ----<br>From: Andrew Coppin &lt;andrewcoppin@btinternet.com&gt;<br>To: haskell-cafe@haskell.org<br>Sent: Saturday, August 11, 2007 1:25:16 PM<br>Subject: Re: [Haskell-cafe] IO within parser<br><br><div>Gregory Propf wrote:<br>&gt; I've been struggling with writing a parser that needs to parse include <br>&gt; files within source files.&nbsp;&nbsp;So far I cannot get this to work (in <br>&gt; reality to get work done I wrote a kludge that returns a list of <br>&gt; include filenames to be run later in a pure IO
 function.&nbsp;&nbsp;I realized <br>&gt; that this just amounted to creating my own half-assed monad system so <br>&gt; I really don't want to use this approach).&nbsp;&nbsp;I have read the tutorials <br>&gt; I could find on monad transformers but I still don't see what's going <br>&gt; on.&nbsp;&nbsp;I'm using the Parsec parser library. Here's an
 simple example of <br>&gt; what I've tried.&nbsp;&nbsp;I also tried using liftIO and got a message about <br>&gt; needing to add an instance of MonadIO.&nbsp;&nbsp;This made more sense but the <br>&gt; type of liftIO is baffling<br><br>The fun part is that Parsec already has a feature for include files... <br>(I can't remember where the heck it is or how you use it though.)<br><br>_______________________________________________<br>Haskell-Cafe mailing list<br>Haskell-Cafe@haskell.org<br><a rel="nofollow" target="_blank" href="http://www.haskell.org/mailman/listinfo/haskell-cafe">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br></div></div><br></div></div><br>
      <hr size="1">Fussy? Opinionated? Impossible to please? Perfect.  <a rel="nofollow" target="_blank" href="http://us.rd.yahoo.com/evt=48516/*http://surveylink.yahoo.com/gmrs/yahoo_panel_invite.asp?a=7%20">Join Yahoo!'s user panel</a> and lay it on us.
</div><br></div></div><br>
      <hr size=1>Building a website is a piece of cake. <br>Yahoo! Small Business gives you <a href="http://us.rd.yahoo.com/evt=48251/*http://smallbusiness.yahoo.com/webhosting/?p=PASSPORTPLUS">all the tools to get online.</a></body></html>