From 4b86ef77955f5bb4f134252c15ef30fd51a243c3 Mon Sep 17 00:00:00 2001 From: Nathanael Sensfelder Date: Sun, 24 Oct 2021 02:15:13 +0200 Subject: Fixes lambda functions not always working. --- data/unit-testing/filter.fate | 85 +++++++++++++++++++++++++++++++++---------- 1 file changed, 66 insertions(+), 19 deletions(-) (limited to 'data/unit-testing/filter.fate') diff --git a/data/unit-testing/filter.fate b/data/unit-testing/filter.fate index ce202e7..e86b420 100644 --- a/data/unit-testing/filter.fate +++ b/data/unit-testing/filter.fate @@ -12,17 +12,28 @@ (set! 0to10odd (list:filter - (lambda ((int i) (int two) (int one)) (= (mod i two) (var one))) + (partial + (lambda + ( + (int two) + (int one) + (int i) + ) + (= (mod i two) (var one)) + ) + 2 + 1 + ) 0to10 - 2 - 1 ) ) -(local (lambda bool (int)) filter_fun) +(local + (lambda bool (int)) filter_fun + (lambda ((int i)) (= (mod i 2) 0)) +) (global (list int) 0to10evena) -(set! filter_fun (lambda ((int i)) (= (mod i 2) 0))) (global (list int) 0to10eveno) (set! 0to10even (list:filter filter_fun 0to10) @@ -90,10 +101,19 @@ (set! 0to10even2 (var 0to10)) (list:filter! - (lambda ((int i) (int two) (int one)) (= (mod i two) (var one))) + (partial + (lambda + ( + (int two) + (int one) + (int i) + ) + (= (mod i two) (var one)) + ) + 2 + 1 + ) 0to10odd2 - 2 - 1 ) (list:filter! filter_fun 0to10even2) @@ -155,10 +175,20 @@ (set! 0to10odd (list:indexed_filter - (lambda ((int ix) (int i) (int two) (int one)) (= (mod i two) (var one))) + (partial + (lambda + ( + (int two) + (int one) + (int ix) + (int i) + ) + (= (mod i two) (var one)) + ) + 2 + 1 + ) 0to10 - 2 - 1 ) ) @@ -226,10 +256,20 @@ (set! 0to10even2 (var 0to10)) (list:indexed_filter! - (lambda ((int ix) (int i) (int two) (int one)) (= (mod i two) (var one))) + (partial + (lambda + ( + (int two) + (int one) + (int ix) + (int i) + ) + (= (mod i two) (var one)) + ) + 2 + 1 + ) 0to10odd2 - 2 - 1 ) (list:indexed_filter! indexed_filter_fun 0to10even2) @@ -308,14 +348,21 @@ ) (list:indexed_filter! - (lambda ((int ix) (int i) ((list int) o)) - (exactly_one - (> i 0) - (list:is_member (var ix) o) + (partial + (lambda + ( + ((list int) o) + (int ix) + (int i) + ) + (exactly_one + (> i 0) + (list:is_member (var ix) o) + ) ) + (list:range 1 21 2) ) oli1 - (list:range 1 21 2) ) (assert! -- cgit v1.2.3-70-g09d2