killme2008/defun — pull request #7 by kgann (2014-09-27 04:11:00+00:00)
Title: use core.match syntax

I decided to try and use the same syntax from `core.match`. The downside is when you want side-effects. In this case, you do not have the benefit of the wrapping list for each match body.

```clojure
;; Old Way
(defun foo
([x] (println "Hello!") (* 2 x))
([2] :bar))

;; New Way
(defun foo
[x] (do (println "Hello!") (* 2 x))
[2] :bar)
```

When you use guards or some of the more *complex* syntax of `core.match`, I think following their exact syntax is a bit easier.

```clojure
(defun funny
[(N :guard #(= 42 %))] true
[_] false)
```

Let me know what you think about this. Thanks!