Thanks David!  This is great!

I have a large test suite of symbolo/numbero tests from miniKanren.
Should I add them/send you a pull request?

On Sat, Feb 8, 2014 at 12:09 PM, David Nolen <[email protected]> wrote:
> While I haven't been able to come up with a general solution to the problem
> of incompatible constraints, core.logic now has a relatively efficient means
> for users to check for incompatible constraint combinations in the
> constraint store themselves.
>
> For example, it's now possible to write numbero and symbolo without
> modifications to core.logic itself such that:
>
> (run* [q]
>   (numbero q)
>   (symbolo q))
>
> will fail. The idea is that users are provided a hook that is run *before*
> the constraint is actually added to the constraint store. This hook is given
> the constraint store so that users can inspect the contents of the store in
> order to determine whether an impossible combination of constraints on a
> variable(s) is about to be introduced. It is fail fast.
>
> I believe this allows user to build out sound, efficient constraint solvers.
> Granted, it does not solve the general problem of how to determine soundness
> between arbitrary constraint domains. I'm beginning to suspect that for this
> to work in the general case we need to maintain runtime domain information
> (like tags) and provide a hierarchy of relationships between those domains
> (a tower of terms?).
>
> David
>
> --
> You received this message because you are subscribed to the Google Groups
> "minikanren" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/minikanren.
> For more options, visit https://groups.google.com/groups/opt_out.

-- 
You received this message because you are subscribed to the Google Groups 
"minikanren" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/minikanren.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to