Good catch - please file a ticket here http://dev.clojure.org/jira/browse/MATCH. Please attach any work-in-progress patch you may have there and I'll review.
Before I can apply any work you've done you need to send in your Contributor Agreement (CA) - http://clojure.org/contributing Thanks, David On Wed, May 29, 2013 at 3:27 PM, David Pollak <[email protected] > wrote: > Howdy, > > I'm looking to patch core.match. There are a couple of cases where the > pattern matcher eliminates rows (basically, if you're pattern matching > against a Map, a row containing a map that has all wildcards will be > considered a "wildcard" row and all the subsequent rows will be removed). > Here's a couple of tests that fail: > > (deftest map-pattern-match-bind-2 > (is (= (let [xqq {:cz 1 :dz 2}] > (match [xqq] > [{:z a :zz b}] [:a0 a b] > [{:cz a :dz b}] [:a2 a b] > :else [])) > [:a2 1 2]))) > > (deftest map-pattern-match-bind-3 > (is (= (let [xmm {:bz 2}] > (match [xmm] > [{:az a}] [:a0 a] > [{:bz b}] [:a1 b] > :else [])) > [:a1 2]))) > > I've been reading through the core.match code to try to fix the code so > that map matches are not treated as wildcards. As far as I can tell, if I > add a magic null guard into specialize-map-pattern-row, then the row will > not be treated as a wildcard... but my attempts to add a guard have been > less than successful. Any help or pointers would be greatly appreciated. > > Thanks, > > David > > -- > Telegram, Simply Beautiful CMS https://telegr.am > Lift, the simply functional web framework http://liftweb.net > Follow me: http://twitter.com/dpp > Blog: http://goodstuff.im > > -- > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to [email protected] > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to [email protected] Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
