From 481884fb892f949478dad8d801ced704baea986c Mon Sep 17 00:00:00 2001 From: tomsmeding Date: Mon, 18 Nov 2019 18:36:57 +0100 Subject: Automatic testing of examples --- tests/fiboY.lisp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 tests/fiboY.lisp (limited to 'tests/fiboY.lisp') diff --git a/tests/fiboY.lisp b/tests/fiboY.lisp new file mode 100644 index 0000000..d12a5ab --- /dev/null +++ b/tests/fiboY.lisp @@ -0,0 +1,24 @@ +(define cadr (l) (car (cdr l))) +(define caddr (l) (car (cdr (cdr l)))) + +(define YY (recur) (lambda (f) (lambda (a) (f ((recur recur) f) a)))) +(define Y (YY YY)) + +(define forX (recur low_high_func) + (if (<= (car low_high_func) (cadr low_high_func)) + (do + ((caddr low_high_func) (car low_high_func)) + (recur (list (+ (car low_high_func) 1) (cadr low_high_func) (caddr low_high_func)))) + '())) + +(define for (Y forX)) + +(define fibohelperX (recur n_a_b) + (if (<= (car n_a_b) 0) (cadr n_a_b) + (recur (list (- (car n_a_b) 1) (caddr n_a_b) (+ (cadr n_a_b) (caddr n_a_b)))))) + +(define fibohelper (Y fibohelperX)) + +(define fibo (n) (fibohelper (list n 0 1))) + +(for (list 1 25 (lambda (n) (print (fibo n))))) -- cgit v1.2.3-54-g00ecf