Re: Protocols/multimethods vs core.match

2015-05-15 Thread Timothy Baldridge
No, it actually compiles down to a pile of ifs, and try/catch/throws (for backtracking). It's pretty fast, but it won't be as fast as a jump table for complex matches, that's for sure. Timothy On Fri, May 15, 2015 at 5:53 PM, Surgo wrote: > core.match compiles down to case, does it not? So the

Re: Protocols/multimethods vs core.match

2015-05-15 Thread Surgo
core.match compiles down to case, does it not? So the comparisons here are similar: http://insideclojure.org/2015/04/27/poly-perf/ -- Morgon On Friday, May 15, 2015 at 2:57:23 PM UTC-4, tbc++ wrote: > > One big thing to consider is that core.match is closed dispatch. If you > write a function t

Re: Protocols/multimethods vs core.match

2015-05-15 Thread Timothy Baldridge
One big thing to consider is that core.match is closed dispatch. If you write a function that uses core.match, I can't extend it inside my code. This is something that is possible with both multi-methods and protocols. Timothy On Fri, May 15, 2015 at 12:49 PM, Sam Raker wrote: > The discussion/

Protocols/multimethods vs core.match

2015-05-15 Thread Sam Raker
The discussion/post-linked-to in https://groups.google.com/d/msg/clojure/eoAp6QVimYI/iipmEJNKdrIJ have got me thinking about protocols & multimethods, which I admittedly have possibly never actually used, now that I think about it. I'm wondering how they differ from core.match[1]. I realize pro