
Hello, I had a look at it but I don't think it will solve my problem. What I try to achieve is this: [1,2,3,4] will be [1,2] [3,4] [1,2,3,4,5] will be [1,2,3] [3,4,5] So the halfs have to be the same lenght. So I use : length xs'div' 2 to figure out where the middle is. lenght xs'mod'2 to look if it's a even or not even list. So I can use splitat but then the lists will not be the same length if it's a not even list. Roelof ----------------------------------------
Subject: Re: [Haskell-beginners] function defenition. Do I understand it right? From: jhenahan@uvm.edu Date: Mon, 11 Jul 2011 15:55:13 -0400 To: rwobben@hotmail.com
You're overcomplicating things. Look at splitAt from Data.List:
http://hackage.haskell.org/packages/archive/base/4.1.0.0/doc/html/Data-List....
On Jul 11, 2011, at 3:51 PM, Roelof Wobben wrote:
Hello,
Thanks for the tip. Im stuck now.
I have this :
halve (xs) | length xs'mod'2 == 0 = (take n xs drop n xs) | otherwise = (take n+1 xs drop n+1 xs where n= lenght xs'div'2
main = do putStrLn $ show $ halve [1,2,3,4] putStrLn $ show $ halve [1,2,3]
But now I get this message :
ERROR line 3 - Syntax error in expression (unexpected keyword "where")
Appearently I can't use where here.
How can I solve this ?
Roelof
Date: Mon, 11 Jul 2011 11:44:28 -0400 Subject: Re: [Haskell-beginners] function defenition. Do I understand it right? From: dmcbride@neondsl.com To: rwobben@hotmail.com CC: beginners@haskell.org
For simple snippets like this, you can go to http://codepad.org/ddySVOPr and run your code to see if it works.
And your first version (once corrected for syntax) works on any list length except for empty lists.
On Mon, Jul 11, 2011 at 10:48 AM, Roelof Wobben
wrote: Hello,
I have made a exercise where I must split a even list. The answer is :
halve xs = (take n xs drop n xs) where n = length xs 'div' 2
Now I want to change it so i can split even and not even list,. I thought this can be the answer
halve xs = lenght xs 'mod' 2 = 0 : (take n xs drop n xs) otherwise : (take n+1 xs drop n+1 xs) where n = length xs 'div' 2
Can this be working ? I did not check this on GCHI because Im re - installing my OS.
Regards.
Roelof
_______________________________________________ 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