Matchure: Serious Clojure Pattern Matching(spin.atomicobject.com)
spin.atomicobject.com
Matchure: Serious Clojure Pattern Matching
http://spin.atomicobject.com/2010/04/25/matchure-serious-clojure-pattern-matching?utm_source=social-media&utm_medium=social-media&utm_campaign=social-media
6 comments
You can handle your particular case with Clojure's fn argument destructuring. No need for pattern matching.
Thanks for the info, didn't know you could do that! What about the classic factorial, though?
(defn factorial
([0] 1)
([x] (* x (factorial (- x 1)))))That's an actual pattern match. Might as well use matchure ;)
(use 'matchure)
(defn-match factorial
([0] 1)
([?x] (* x (factorial (dec x)))))Hey mnemonik. I had the same thought. It's in the todo in the readme on github.
I have barely played around with Clojure though, so if there is a nicer way to express that code, please drop a comment and try not to tear me to pieces. My point is that I would love to have pattern matching available in function definitions similar to Haskell/Erlang.