Split At
Implement the function
val split_at : 'a list -> int -> 'a list * 'a list
so that split_at l index returns a pair of lists (a, b) such that
a @ b = l and List.length a = min (max 0 index) (List.length l).
Examples
let _ = assert (split_at [1;2;3] (-10) = ([], [1;2;3])) let _ = assert (split_at [1;2;3;4;5] 2 = ([1;2], [3;4;5])) let _ = assert (split_at [1;2;3;4;5] 10 = ([1;2;3;4;5], []))