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

Reply via email to