I'm mailing my CLA to Rich right now. I'll do a pull request for the new tests and the changed code. Please look at the pull request and fix/apply it when I've been added to the Clojure contributors.
On Wed, May 29, 2013 at 12:36 PM, David Nolen <dnolen.li...@gmail.com>wrote: > 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 < > feeder.of.the.be...@gmail.com> 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 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 >> --- >> 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 clojure+unsubscr...@googlegroups.com. >> 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 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 > --- > 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 clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- 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 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 --- 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 clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.