<div style="font-family:Verdana;font-size:14px;color:#000;"><div>a ha ...</div><div>thanks &nbsp; &nbsp;Daniel&nbsp;</div>
<div style="font:Verdana normal 14px;color:#000;padding:8px 0px;"><div>&nbsp;</div><div>&nbsp;</div><div style="FONT-SIZE: 12px;FONT-FAMILY: Arial Narrow;padding:2px 0 2px 0;">------------------&nbsp;原始邮件&nbsp;------------------</div><div style="FONT-SIZE: 12px;background:#efefef;padding:8px;"><div><b>发件人:</b> "Daniel Fischer"<daniel.is.fischer@googlemail.com>; </div><div><b>发送时间:</b> 2011年9月9日(星期五) 晚上11:06</div><div><b>收件人:</b> "beginners"<beginners@haskell.org>; </div><div><b >抄送:</b> "anyzhen"<jiangzhen3s@qq.com>; </div><div><b>主题:</b> Re: [Haskell-beginners] a parse error....i can't fix it</div></div><div>&nbsp;</div>On Friday 09 September 2011, 16:53:06, anyzhen wrote:<br>&gt; sorry and please forget the name and what it is meaning for.<br>&gt; just look at in syntax aspect<br>&gt; <br>&gt; <br>&gt; the error : "parse error on input `|'<br>&gt; Failed, modules loaded: none."<br>&gt; <br>&gt; <br>&gt; <br>&gt; linerFind :: [Int] -&gt; Int -&gt; MaxSA -&gt; MaxSA&nbsp;&nbsp; --MaxSA is <br>&gt; MaximumSubarray linerFind xs len&nbsp; ms1@(MaxSA l h m)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --<br>&gt; (MaxSA leftPosition rightPosition maxsum)<br>&gt; <br>&gt;&nbsp;&nbsp; | h&lt;len = keepFind ms1<br>&gt; <br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; where keepFind ms'@(MaxSA l' h' m')=<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; let ms2@(MaxSA l2 h2 m2)= find' xs l' (h'+1) in<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if m &lt; m2 then linerFind xs len ms2<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else keepFind ms2<br>&gt; <br>&gt;&nbsp;&nbsp; |otherwise = ms1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --compiler say<br>&gt;&nbsp;&nbsp; |error is in&nbsp; this line<br><br>You must have the where clause after the guards,<br><br>linerFind ...<br>&nbsp; | h &lt; len = keepFind ms1<br>&nbsp; | otherwise = ms1<br>&nbsp;&nbsp;&nbsp; where<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...<br><br>  <!-- --><style></style></div></div>