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

Reply via email to