Since you mentioned Clojure and Erlang&#x27;s pattern matching, I thought it nessicary to reference this Clojure library, [1] defun.<p>Here&#x27;s a quick snippet:<p><pre><code>    (defun fib
      ([0] 0)
      ([1] 1)
      ([n] (+ (fib (- n 1)) (fib (- n 2)))))
</code></pre>
Then:<p><pre><code>    (fib 10)
    ;;=&gt; 55
</code></pre>
Cool isn&#x27;t it!<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;killme2008&#x2F;defun" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;killme2008&#x2F;defun</a>