Can someone explain Clojure's unquote-splice in simple terms?
Solution 1:
I'm no expert on Clojure, but since it's basically a Lisp, things should be like that unquote-splice is unquote which merges the list to the position where it's used. Difference looks like this:
`(1 2 ~(list 3 4)) => (1 2 (3 4))
`(1 2 ~@(list 3 4)) => (1 2 3 4)
` == syntax-quote
~ == unquote
~@ == unquote-splice