[Haskell-beginners] How can I fix this 'where' error ?

Bob Ippolito bob at redivi.com
Sun Apr 6 00:18:14 UTC 2014


The problem is that you are mixing tabs and spaces. It doesn't realize that
the two lines are supposed to be at the same level of indentation. It's
best to always use spaces, never tabs.

This might be easier to avoid if you put where on its own line, but the
best solution is to configure your text editor to always expand tabs to
spaces.


On Sat, Apr 5, 2014 at 5:13 PM, S. H. Aegis <shaegis at gmail.com> wrote:

> Hi.
> I'm new to Haskell. I try to solve Euler Project for studying Haskell
> through Googling, reading books.
> There is a error in where sentence, but I can't fix this.
>
> maxEleList :: String -> String -> [Int]
> maxEleList xs ys = maxOfTwo upperList lowerList
> where upperList = map turpleSum $ zip (toIntList xs) (toIntList ys)
>  lowerList = map turpleSum $ zip (toIntList xs) (tail $ toIntList ys)
>
> Error message is
> ~/maxPathSum.hs: line 4, column 75:
>   Parse error
>   Error message:
>     Parse error: =
>   Code:
>       maxEleList xs ys = maxOfTwo upperList lowerList
>       where upperList = map turpleSum $ zip (toIntList xs) (toIntList ys)
>     > lowerList = map turpleSum $ zip (toIntList xs) (tail $ toIntList ys)
>
>
> How can I fix this?
> Thank you for your kind help.
>
> S. Chang
>
>
> ----------------
> This code is for Euler project: problem 18, and whole code is like this...
> (Not yet finished...)
>
> maxEleList :: String -> String -> [Int]
> maxEleList xs ys = maxOfTwo upperList lowerList
> where upperList = map turpleSum $ zip (toIntList xs) (toIntList ys)
>  lowerList = map turpleSum $ zip (toIntList xs) (tail $ toIntList ys)
> maxOfTwo :: [Int] -> [Int] -> [Int]
> maxOfTwo [] [] = []
> maxOfTwo (x:xs) (y:ys) = max x y : maxOfTwo xs ys
>
> turpleSum :: (Int, Int) -> Int
> turpleSum (x, y) = x + y
>
> toIntList :: String -> [Int]
> toIntList = map (\x -> read x :: Int) . words
>
> rowData :: [[Int]]
> --rowData = reverse $ map (map (\x -> read x :: Int) . words) [r1, r2, r3,
> r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15]
> rowData = map (map (\x -> read x :: Int) . words) [r1, r2, r3, r4, r5, r6,
> r7, r8, r9, r10, r11, r12, r13, r14, r15]
>
> r1 = "75"
> r2 = "95 64"
> r3 = "17 47 82"
> r4 = "18 35 87 10"
> r5 = "20 04 82 47 65"
> r6 = "19 01 23 75 03 34"
> r7 = "88 02 77 73 07 63 67"
> r8 = "99 65 04 28 06 16 70 92"
> r9 = "41 41 26 56 83 40 80 70 33"
> r10 = "41 48 72 33 47 32 37 16 94 29"
> r11 = "53 71 44 65 25 43 91 52 97 51 14"
> r12 = "70 11 33 28 77 73 17 78 39 68 17 57"
> r13 = "91 71 52 38 17 14 91 43 58 50 27 29 48"
> r14 = "63 66 04 68 89 53 67 30 73 16 69 87 40 31"
> r15 = "04 62 98 27 23 09 70 98 73 93 38 53 60 04 23"
>
> _______________________________________________
> 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/20140405/6c0e09b9/attachment-0001.html>


More information about the Beginners mailing list