diff options
Diffstat (limited to 'comparison/OCaml/msort800000.ml')
| -rw-r--r-- | comparison/OCaml/msort800000.ml | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/comparison/OCaml/msort800000.ml b/comparison/OCaml/msort800000.ml index 1835b98..bbb8de6 100644 --- a/comparison/OCaml/msort800000.ml +++ b/comparison/OCaml/msort800000.ml @@ -33,11 +33,19 @@ let rec mkRandList n = 0 -> [] | n -> (Random.int 10000)::(mkRandList (n-1)) ;; -let main = msort (mkRandList 800000) ;; +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;; -(* -The following error arises: +let main = validation (msort (mkRandList 800000));; -Stack overflow during evaluation (looping recursion?). +(* +Fatal error: exception Stack_overflow *) |
