From e7bfab5be155878b9850e6c5986631133aa866c1 Mon Sep 17 00:00:00 2001 From: Andrey Orst Date: Fri, 13 Nov 2020 18:59:16 +0300 Subject: feature(core): remove macros from core (for loading with macros) --- tests/core.fnl | 71 ++++++++-------------------------------------------------- 1 file changed, 9 insertions(+), 62 deletions(-) (limited to 'tests') diff --git a/tests/core.fnl b/tests/core.fnl index 5fef66d..992627d 100644 --- a/tests/core.fnl +++ b/tests/core.fnl @@ -1,68 +1,15 @@ (require-macros :cljlib-macros) (require-macros :tests.test) -(local - {: vector - : hash-map - : apply - : seq - : first - : rest - : last - : butlast - : conj - : cons - : concat - : reduce - : reduce-kv - : mapv - : filter - : map? - : seq? - : nil? - : zero? - : pos? - : neg? - : even? - : odd? - : int? - : pos-int? - : neg-int? - : double? - : string? - : boolean? - : false? - : true? - : empty? - : not-empty - : eq - : identity - : comp - : every? - : some - : not-any? - : complement - : constantly - : range - : reverse - : inc - : dec - : assoc - : get - : get-in - : get-method - : methods - : remove-method - : remove-all-methods - : add - : sub - : mul - : div - : le - : ge - : lt - : gt} - (require :cljlib)) +(macro require-module [module] + "Require module and bind all it's functions to locals." + `(local ,(let [destr-map# {}] + (each [k# _# (pairs (require module))] + (tset destr-map# k# (sym k#))) + destr-map#) + (require ,module))) + +(require-module :cljlib) (deftest equality (testing "comparing basetypes" -- cgit v1.2.3