Yeah that's not how partial maps work are intended to be used, though it's not very clear - Philip Potter actually brought up a good criticism of the behavior of partial maps at ClojureX in London when I gave a quick demonstration - you lose transitivity. I'm inclined to push the functionality of partial maps behind a constraint - something like `featurec`. This way a partial-map data structure can never "leak" into the program via unification w/ a fresh var.
http://dev.clojure.org/jira/browse/LOGIC-76 David On Fri, Dec 14, 2012 at 6:29 PM, Timothy Baldridge <tbaldri...@gmail.com>wrote: > I'd think that with this code (== z q) but it fails to resolve: > > (run 1 [q] > > > > (fresh [foo bar z] > > > > (== z {:foo 42 :bar 43}) > > > > (== z (partial-map {:foo foo})) > > > > (== z (partial-map {:bar bar})) > > > > (== q (partial-map {:foo foo})) > > > > (== q (partial-map {:bar bar})))) > > > > > () > > What would be the way to get q to be both foo and bar together? In my > application the last two lines are executed in different functions, so > simply saying (== q {:foo foo :bar bar}) doesn't really work. > > Timothy > > -- > 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 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