Je me frappe la tête contre le mur en essayant de comprendre certaines macros Clojure qui utilisent unquote-splice, et je n'arrive pas à trouver une explication claire de leur utilité. Quelqu'un peut-il me l'expliquer en termes simples ?
Réponse
Trop de publicités?Je ne suis pas un expert de Clojure, mais comme c'est fondamentalement un Lisp, les choses devraient être comme ça unquote-splice est unquote qui fusionne la liste à la position où il est utilisé. La différence ressemble à ceci :
`(1 2 ~(list 3 4)) => (1 2 (3 4))
`(1 2 ~@(list 3 4)) => (1 2 3 4)
` == syntax-quote
~ == unquote
~@ == unquote-splice