Macro want to use symbol instead of string in clojure -
so trying make haskell lambda syntax, , macro i've got:
(defmacro / [& all] (let [args (take-while #(not (= %1 "=>")) all) argcount (count args) expr (last (split-at (+ argcount 1) all))] `(fn ~(vec args) (~@expr)))) (reduce (/ x y "=>" + x y) [1 2 3])
this works enough, last thing i'd make don't need "=>"
can use =>
any tips how might make =>
valid symbol can parse in context i'm referring?
compare name
of symbol against string:
(defmacro / [& all] (let [args (take-while #(not (= (name %1) "=>")) all) argcount (count args) expr (last (split-at (+ argcount 1) all))] `(fn ~(vec args) (~@expr))))
Comments
Post a Comment