Вам необходимо использовать apply
:
(apply hash-map (interleave ['a 'b] [1 2]))
apply
применяет функцию к последовательности аргументов;для подробностей введите (doc apply)
в REPL.
~@
- это один из двух компаньонов к синтаксической кавычке, записанный как backtick, другой * ~
:
`(~(+ 1 2) ~@[2 1])
; => (3 2 1)
Три полезны в основном для написания макросов;вы не можете использовать ~
и ~@
вне синтаксической кавычки.