[ create a new paste ] login | about

Link: http://codepad.org/jMPCO1UE    [ raw code | output | fork ]

Haskell, pasted on Jul 12:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
halve (xs) | length xs ==1 = ( take 1 xs, take 0 xs)
           | length xs `mod` 2 == 0   = (take n xs, drop n xs)
           | otherwise = (take (n+1) xs,  drop (n) xs)
  where n= length xs `div` 2 


main = do
  putStrLn $ show $ halve [1,2,3,4]
  putStrLn $ show $ halve [1,2,3]
  putStrLn $ show $ halve ['a', 'b', 'c']
  putStrLn $ show $ halve ([] :: [Int])
  putStrLn $ show $ halve [1]

 


Output:
1
2
3
4
5
([1,2],[3,4])
([1,2],[2,3])
("ab","bc")
([],[])
([1],[])


Create a new paste based on this one


Comments: