(fn [] (defn multi
[coll x]
(list* (map #(* % x) coll)))
(defmacro lolmacro
[& lists]
`(fn [& xs#]
(list* (map multi [~@lists] xs#))))
(def loltwo (lolmacro [1 2 3] [4 5 6]))
(def lolthree (lolmacro [1 2 3] [4 5 6] [7 8 9]))
(println (loltwo 2 1))
(println (lolthree 3 2 1))))
KHRpbWUKICAoZm4gW10gKGRlZm4gbXVsdGkKICAJW2NvbGwgeF0KICAJKGxpc3QqIChtYXAgIygqICUgeCkgY29sbCkpKQoKICAoZGVmbWFjcm8gbG9sbWFjcm8KCVsmIGxpc3RzXQoJYChmbiBbJiB4cyNdCgkJKGxpc3QqIChtYXAgbXVsdGkgW35AbGlzdHNdIHhzIykpKSkKCiAgKGRlZiBsb2x0d28gKGxvbG1hY3JvIFsxIDIgM10gWzQgNSA2XSkpCiAgKGRlZiBsb2x0aHJlZSAobG9sbWFjcm8gWzEgMiAzXSBbNCA1IDZdIFs3IDggOV0pKQoKICAocHJpbnRsbiAobG9sdHdvIDIgMSkpCiAgKHByaW50bG4gKGxvbHRocmVlIDMgMiAxKSkpKQ==