I'm looking at the List documentation. It seems the library does not provide a sublist
function.
I'm trying to get list of elements from i to j. Now I have to write it as:
let rec sublist list i j =
if i > j then
[]
else
(List.nth list i) :: (sublist list (i+1) j)
which is quite concise but I'm questioning the efficiency of List.nth
, because if it's O(n), I would rather have to write it in a less concise way.
I'm wondering why didn't they provide List.sublist
func, if List.nth
is not O(1), because it's such a quite common operation..