Haskell 多行 Lambda

Haskell Multi-line Lambdas

我正在从 learnyouahaskell.com 学习 Haskell 并且有一个例子:

search :: (Eq a) => [a] -> [a] -> Bool  
search needle haystack =   
    let nlen = length needle  
    in  foldl (\acc x -
> if take nlen x == needle then True else acc) False (tails haystack) 

但是当用 GHC 尝试这段代码时,它给了我

error: parse error on input ‘-’

但是当它是这样的时候就可以了:

search :: (Eq a) => [a] -> [a] -> Bool  
search needle haystack =   
    let nlen = length needle  
    in  foldl (\acc x -> if take nlen x == needle then True else acc) False (tails haystack) 

Haskell 是否有允许多行 lambda 的功能,或者这是我缺少的东西?

不要破坏->

就这样:

search :: (Eq a) => [a] -> [a] -> Bool  
search needle haystack =   
   let nlen = length needle  
   in  foldl (\acc x ->
if take nlen x == needle then True else acc) False (tails haystack) 

search :: (Eq a) => [a] -> [a] -> Bool  
search needle haystack =   
   let nlen = length needle  
   in  foldl (\acc x 
-> if take nlen x == needle then True else acc) False (tails haystack)