Hello,<br><br>I am a somewhat experienced programmer and a complete Haskell newbie, so I hope this is the correct ML for my question.<br><br>I have decided to learn Haskell and started with&nbsp; Graham Hutton&#39;s book. Everything was going nicely until section 
8.4, on sequencing functional parsers. I am trying to write an elementary parser that produces the 1st and 3d elements from a string. I am using the code from the book.<br><br>---------------------<br><br>
type Parser a = String -&gt; [(a, String)]<br>
<br>
return :: a -&gt; Parser a<br>
return v = \inp -&gt; [(v, inp)]<br>
<br>
failure :: Parser a<br>
failure = \inp -&gt; []<br>
<br>
<br>
item :: Parser Char<br>
item = \inp -&gt; case inp of<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [] -&gt; []<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (x:xs) -&gt; [(x, xs)]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
parse :: Parser a -&gt; String -&gt; [(a, String)]<br>
parse p inp = p inp<br>
<br>
<br>
(&gt;&gt;=) :: Parser a -&gt; (a -&gt; Parser b) -&gt; Parser b<br>
p &gt;&gt;= f = \inp -&gt; case parse p inp of<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [] -&gt; []<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [(v, out)] -&gt; parse (f v) out<br>
<br>
<br>
p :: Parser (Char, Char)<br>
p = do x &lt;- item<br>
&nbsp;&nbsp; &nbsp; &nbsp; item<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; y &lt;- item<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return (x, y)&nbsp; -- LINE 34<br>
--------------------<br><br>BUT, when I try to :load parse.hs from hugs I get the following error:<br><br>ERROR &quot;parse.hs&quot;:34 - Last generator in do {...} must be an expression<br><br><br>
I have no idea what I am doing wrong and why Hugs is complaining.&nbsp; I hope this question is not too simply for this mailing list, but I have honestly googled for an answer and had found nothing. <br><br><br><br>Juozas Gaigalas
<br>
<br>
<br>