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