How can I fix this 'where' error ?

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"

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
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@haskell.org http://www.haskell.org/mailman/listinfo/beginners

It's work !
Thank you so much !
I change my editor settings as you said.
Thank you again, and Have a nice day.
S. Chang
2014-04-06 9:18 GMT+09:00 Bob Ippolito
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
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@haskell.org http://www.haskell.org/mailman/listinfo/beginners
_______________________________________________ Beginners mailing list Beginners@haskell.org http://www.haskell.org/mailman/listinfo/beginners
-- Sok Ha, CHANG Dr. Chang's Clinic. #203. 503-23. AmSa-Dong, GangDong-Gu, Seoul. Tel: +82-2-442-7585
participants (2)
-
Bob Ippolito
-
S. H. Aegis