aboutsummaryrefslogtreecommitdiff
path: root/comparison/OCaml/qsort800000.ml
diff options
context:
space:
mode:
authorShinya Sato <shinnya.sato@gmail.com>2022-04-28 21:47:28 +0900
committerShinya Sato <shinnya.sato@gmail.com>2022-04-28 21:47:28 +0900
commit7ea48cd96551247ecc763a5e42404ffa3464d0b0 (patch)
treefd1b63ab48d98a9243d3053522e17e31b9dc033f /comparison/OCaml/qsort800000.ml
parent950e2cb2184cb7ead93ba8df691a190598ed242f (diff)
parent429543c748aaf81b2a4207318eb5a05259469b21 (diff)
downloadinpla-7ea48cd96551247ecc763a5e42404ffa3464d0b0.tar.gz
inpla-7ea48cd96551247ecc763a5e42404ffa3464d0b0.zip
Merge branch 'develop'
Diffstat (limited to 'comparison/OCaml/qsort800000.ml')
-rw-r--r--comparison/OCaml/qsort800000.ml18
1 files changed, 14 insertions, 4 deletions
diff --git a/comparison/OCaml/qsort800000.ml b/comparison/OCaml/qsort800000.ml
index 627abd2..7547f45 100644
--- a/comparison/OCaml/qsort800000.ml
+++ b/comparison/OCaml/qsort800000.ml
@@ -21,10 +21,20 @@ let rec mkRandList n =
0 -> []
| n -> (Random.int 10000)::(mkRandList (n-1)) ;;
-let main = qsort (mkRandList 800000) ;;
-(*
-The following error arises:
+let rec validation alist =
+ let rec validation_cons x blist =
+ match blist with
+ [] -> true
+ | y::ys -> if x<=y then (validation_cons y ys) else false
+ in
+ match alist with
+ [] -> true
+ | x::xs -> validation_cons x xs;;
+
-Stack overflow during evaluation (looping recursion?).
+let main = validation(qsort (mkRandList 800000));;
+
+(*
+Fatal error: exception Stack_overflow
*)