From 450595ab57f5749d3de263fc0ec2d158f94bb17b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9ophile=20Bastian?= Date: Fri, 16 Feb 2018 01:40:23 +0100 Subject: [PATCH] Add complicated recursion and nesting -- fail --- src/tests/rec_fibo.exp | 9 +++++++++ src/tests/rec_fibo.lambda | 25 +++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 src/tests/rec_fibo.exp create mode 100644 src/tests/rec_fibo.lambda diff --git a/src/tests/rec_fibo.exp b/src/tests/rec_fibo.exp new file mode 100644 index 0000000..ef44016 --- /dev/null +++ b/src/tests/rec_fibo.exp @@ -0,0 +1,9 @@ +1 +1 +2 +3 +5 +8 +13 +21 +34 diff --git a/src/tests/rec_fibo.lambda b/src/tests/rec_fibo.lambda new file mode 100644 index 0000000..e40da19 --- /dev/null +++ b/src/tests/rec_fibo.lambda @@ -0,0 +1,25 @@ +let fibo = fun n -> + let rec fibo_inner = fun i -> fun last -> fun last_last -> + ifzero (n - i) then + last + last_last + else + fibo_inner (i+1) (last + last_last) last + in + + ifzero n then + 1 + else ifzero (n - 1) then + 1 + else + fibo_inner 2 1 1 + in + +let x = print fibo 0 in +let x = print fibo 1 in +let x = print fibo 2 in +let x = print fibo 3 in +let x = print fibo 4 in +let x = print fibo 5 in +let x = print fibo 6 in +let x = print fibo 7 in +print fibo 8