Haskellラムダ構文のようなものを作ろうとしていて、マクロを使ってこれが私が持っているものです:
(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])
これは十分に機能しますが、最後にやりたいことは、を必要とせず"=>"
に使用できるようにすることです=>
=>
参照しているコンテキストで解析できる有効なシンボルを作成する方法のヒントはありますか?