J'ai utilisé erlang dans le passé et il a des choses très utiles comme les fonctions de filtrage ou les "gardes de fonction". Voici un exemple tiré de la documentation d'erlang :
fact(N) when N>0 ->
N * fact(N-1);
fact(0) ->
1.
Mais cet exemple pourrait être élargi à un cas beaucoup plus complexe dans lequel la forme du paramètre et les valeurs qu'il contient sont mises en correspondance.
Existe-t-il quelque chose de similaire en clojure ?