summaryrefslogtreecommitdiff
path: root/testsuite/tests/letrec/mutual_functions.ml
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/letrec/mutual_functions.ml')
-rw-r--r--testsuite/tests/letrec/mutual_functions.ml11
1 files changed, 11 insertions, 0 deletions
diff --git a/testsuite/tests/letrec/mutual_functions.ml b/testsuite/tests/letrec/mutual_functions.ml
new file mode 100644
index 0000000000..a5b6c51ffe
--- /dev/null
+++ b/testsuite/tests/letrec/mutual_functions.ml
@@ -0,0 +1,11 @@
+(* a simple test with mutually recursive functions *)
+let test =
+ let rec even = function
+ | 0 -> true
+ | n -> odd (n - 1)
+ and odd = function
+ | 0 -> false
+ | n -> even (n - 1)
+ in
+ List.iter (fun i -> assert (even i <> odd i && even i = (i mod 2 = 0)))
+ [0;1;2;3;4;5;6]