[Haskell-beginners] a parse error....i can't fix it

Luca Ciciriello luca_ciciriello at hotmail.com
Fri Sep 9 17:12:39 CEST 2011


Formatted in this way should be compile:

linerFind :: [Int] -> Int -> MaxSA -> MaxSA      --MaxSA is  MaximumSubarray
linerFind xs len  ms1@(MaxSA l h m)             -- (MaxSA leftPosition rightPosition maxsum)
  | h<len = keepFind ms1                             
  | otherwise = ms1
  where keepFind ms'@(MaxSA l' h' m') = let ms2@(MaxSA l2 h2 m2)= find' xs l' (h'+1)
                                                                          in if m < m2 
                                                                              then linerFind xs len ms2
                                                                                       else keepFind ms2

Bye

Luca.

On Sep 9, 2011, at 4:53 PM, anyzhen wrote:

> sorry and please forget the name and what it is meaning for.
> just look at in syntax aspect
> 
> the error : "parse error on input `|'
> Failed, modules loaded: none."
> 
> linerFind :: [Int] -> Int -> MaxSA -> MaxSA   --MaxSA is  MaximumSubarray
> linerFind xs len  ms1@(MaxSA l h m)             -- (MaxSA leftPosition rightPosition maxsum)
>   | h<len = keepFind ms1                             
>                 where keepFind ms'@(MaxSA l' h' m')=
>                     let ms2@(MaxSA l2 h2 m2)= find' xs l' (h'+1) in
>                     if m < m2 then linerFind xs len ms2
>                     else keepFind ms2                                 
>   |otherwise = ms1                                      --compiler say error is in  this line
> 
> 
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://www.haskell.org/mailman/listinfo/beginners

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/beginners/attachments/20110909/4af0c14f/attachment.htm>


More information about the Beginners mailing list