Estoy tratando de crear una función para crear una nueva base con otra estructura como base, y como un comienzo intenté crear una macro que crearía una nueva estructura con los mismos campos que la anterior. La macro tengo que pensé que debería hacer esto es por debajo de, pero que está dando el siguiente error:Clojure problema macro
java.lang.Exception: Can't use qualified name as parameter: user/p1__132
Macro:
(defmacro prototype [structure obj]
`(apply struct ~structure (map #(~obj %) (keys ~obj))))
Ejemplo de uso:
(defstruct bintree :data :left :right)
(def a (struct bintree 3))
(prototype bintree a)
la salida deseada, en este caso sería
{:data 3 :left nil :right nil}
Soy nuevo en clojure pero encontré este enlace: http://osdir.com/ml/java.clojure.user/2008-03/msg00108.html – seth
podría agregar el resultado deseado al ejemplo de uso –