Я использовал erlang в прошлом, и у него есть некоторые действительно полезные вещи, такие как функции сопоставления рисунка или «функции защиты». Пример из Эрланга Документов:Соответствующие функции шаблонов в Clojure?
fact(N) when N>0 ->
N * fact(N-1);
fact(0) ->
1.
Но это может быть расширено до гораздо более сложного примера, где форма параметра и значения внутри него совпадает.
Есть ли что-то подобное в clojure?
Это старый вопрос, но это проект расширяет функции core.match до функций и почти точно то, что я задавал много лет назад https://github.com/killme2008/defun – mikkom