Что-то в #clojure не отвечают, спрошу тут.
Чем бы мне сделать паттерн-матчинг-переписывание данных? Например, (select ?a ["foo"]) ⇒ (:foo ?a), (select ?a ["foo" "bar"]) ⇒ (get-in ?a [:foo :bar]), (select ?a ["foo"] :or ?b) ⇒ (:a ?a ?b), (select ?a ["foo" "bar"] :or ?b) ⇒ (get-in ?a [:foo :bar] ?b)
Я попробовал core.match и termito, не получается у меня описать. В core.match вообще по смешному поводу — не могу заматчить символ, символы в синтаксисе core.match — привязка к переменной.
@dottedmag может спекой распарсить?
@roman01la Интересный вариант, попробую.
еще есть akar