From 3421b872152e99c119e1e9803d19651d574c77af Mon Sep 17 00:00:00 2001 From: Andrey Listopadov Date: Sun, 17 Oct 2021 13:01:27 +0300 Subject: fix: tweak apply --- init.fnl | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/init.fnl b/init.fnl index 01bd56d..7dd1696 100644 --- a/init.fnl +++ b/init.fnl @@ -77,11 +77,12 @@ Applying `add' to different amount of arguments: ([f a b args] (f a b (_unpack args))) ([f a b c args] (f a b c (_unpack args))) ([f a b c d & args] - (let [flat-args (empty [])] - (for [i 1 (- (length args) 1)] - (insert flat-args (. args i))) - (each [_ a (ipairs (. args (length args)))] - (insert flat-args a)) + (let [flat-args [] + len (- (length args) 1)] + (for [i 1 len] + (tset flat-args i (. args i))) + (each [i a (ipairs (. args (+ len 1)))] + (tset flat-args (+ i len) a)) (f a b c d (_unpack flat-args))))) (defn core.add -- cgit v1.2.3