summaryrefslogtreecommitdiffstats
path: root/stdlib/array.ml
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/array.ml')
-rw-r--r--stdlib/array.ml7
1 files changed, 3 insertions, 4 deletions
diff --git a/stdlib/array.ml b/stdlib/array.ml
index d398e68f7..901004de9 100644
--- a/stdlib/array.ml
+++ b/stdlib/array.ml
@@ -109,10 +109,9 @@ let map f a =
end
let to_list a =
- let len = length a in
- let rec tolist i =
- if i >= len then [] else unsafe_get a i :: tolist(i+1) in
- tolist 0
+ let rec tolist i res =
+ if i < 0 then res else tolist (i - 1) (unsafe_get a i :: res) in
+ tolist (length a - 1) []
let of_list = function
[] -> [||]