From 9b82db238f9e2e02a76f95c793f8d6ef2387ecfd Mon Sep 17 00:00:00 2001 From: unwox Date: Thu, 26 Sep 2024 17:46:38 +0600 Subject: init --- lib/macro.fnl | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 lib/macro.fnl (limited to 'lib/macro.fnl') diff --git a/lib/macro.fnl b/lib/macro.fnl new file mode 100644 index 0000000..f23b1fb --- /dev/null +++ b/lib/macro.fnl @@ -0,0 +1,18 @@ +(fn map [f l] + `(icollect [i# v# (ipairs ,l)] + (,f i# v#))) + +(fn filter [f l] + `(icollect [i# v# (ipairs ,l)] + (if (,f i# v#) + v# + nil))) + +(fn reduce [f l s] + `(accumulate [r# ,s + i# v# (ipairs ,l)] + (,f i# v# r#))) + +{: map + : filter + : reduce} -- cgit v1.2.3