Thanks! I had just finished making similar changes. It was a good exercise and I'm glad to be able to compare code.
A couple of questions: 1. Why is there no case for unifying a Datom with another Datom? 2. Why aren't multimethods used for dispatching to the appropriate unification implementation? -austin -- Austin Haas Pet Tomato, Inc. http://pettomato.com On Tue Jan 08 14:30 , David Nolen wrote: > I've updated the experimental core.logic Datomic support so that you can > unify PersistentVector and Datoms again. In a real system I'd probably > recommend providing your own tuple type that does not implement Sequential > for doing unification with Datoms. > > David > > > On Tue, Jan 8, 2013 at 11:55 AM, Austin Haas <aus...@pettomato.com> wrote: > > > > > Ok, thanks, I'll try to get it to work with PersistentVector. > > > > I just started looking at core.logic's internals, and I'm still fairly new > > to Clojure, so everything is a little fuzzy. I took Sequential for granted, > > since that is referenced in the existing code. > > > > Thanks for the help. > > > > -austin > > > > -- > > Austin Haas > > Pet Tomato, Inc. > > http://pettomato.com > > > > On Tue Jan 08 07:28 , David Nolen wrote: > > > The dispatching mechanism was more trouble than it was worth but we did > > > lose some flexibility. Do you really need to unify Sequential or is > > > unifying with a concrete type like PersistentVector work well enough for > > > your use case? > > > > > > David > > > > > > > > > On Tue, Jan 8, 2013 at 2:01 AM, Austin Haas <aus...@pettomato.com> > > wrote: > > > > > > > > > > > The datomic unification code in core.logic has bit-rotted. It depends > > on > > > > IUnifyWithSequential, which was removed in this commit: > > > > > > https://github.com/clojure/core.logic/commit/bbc4e820128d5a0745ce3d79cd3bbd9401a1bf55 > > > > > > > > I'm trying to understand how to update the code, but I don't get how > > > > dispatching works following the above commit. It appears that each > > > > implementation of IUnifyTerms must dispatch on the second argument, > > and I > > > > don't see how to get clojure.lang.Sequential to dispatch on a datom > > unless > > > > I override the implementation of clojure.lang.Sequential unify-terms > > here: > > > > > > https://github.com/clojure/core.logic/blob/master/src/main/clojure/clojure/core/logic.clj#L1581 > > > > > > > > I must be missing something. Any pointers would be appreciated. > > > > > > > > -austin > > > > > > > > -- > > > > Austin Haas > > > > Pet Tomato, Inc. > > > > http://pettomato.com > > > > > > > > -- > > > > 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 > > > > -- > > 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 -- 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