I've come up with some better reasons to return nil.

- smaller generated code size
- cleaner implementation

of which the latter is the most significant.


While we're on the topic of conventions, I think the most important
convention match is breaking
is using the destructuring syntax to mean something less generic by default
(only vectors).

(match [(list 1 2 3)]
           [[x & xs]] 1)   ;; <- falls through because [x & xs] only matches
vectors by default

I can see this tripping people up time and time again.

"Make it correct, then make it fast"

A wonderful asset of Clojure, is that once it's correct, the fast version is
never far away syntactically.
I think we should adopt this ideology and default to :seq matching.

To make it fast, just add :vector (or matchv).

Thanks,
Ambrose

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to