title: Haskell: split even and odd elements into tuple
body: <p>I can't use high order functions. I just can't see to figure out how to do this. I am very new to haskell. It also has to be recursive. </p>
  
  <pre><code>split :: [Int] -&gt; ([Int],[Int])
  split xs = 
  </code></pre>
  
  <p>I am given this to start with. I honestly don't even know where to start with this problem. </p>
  
  <p>Examples:</p>
  
  <pre><code>split []
  ([],[])
  
  split [1]
  ([1],[])
  
  split [1,2,3,4,5,6,7,8,9,10]
  ([1,3,5,7,9],[2,4,6,8,10])
  </code></pre>
  
  <p>any help would be much appreciated.</p>
  
  <p>Edit: Its even and odd positions.</p>
  
  <p>So</p>
  
  <p>split [3,6,8,9,10] would be
  ([3,8,10],[6,9])</p>
  
  <p>ok so i came up with this. Its not pretty, but it seems to work ok.</p>
  
  <pre><code>split :: [Int] -&gt; ([Int],[Int])
  split [] = ([],[])
  split [xs] = ([xs],[])
  split xs = (oddlist xs, evenlist xs)
  
  oddlist :: [Int] -&gt; ([Int])
  oddlist xs | length xs &lt;= 2 = [head(xs)]
             | otherwise = [head(xs)] ++ oddlist(tail(tail(xs)))
  
  evenlist :: [Int] -&gt; ([Int])
  evenlist xs | length xs &lt;= 3 = [head(tail(xs))]
              | otherwise = [head(tail(xs))] ++ evenlist(tail(tail(xs)))
  </code></pre>