Hi Eugene!

I remember seeing Castor several years ago, and had a brief
conversation with the creator of the library online.  Here is part of
the thread:

http://lists.boost.org/Archives/boost/2010/04/165654.php
http://lists.boost.org/Archives/boost/2010/05/166240.php
http://lists.boost.org/Archives/boost/2010/05/166263.php

At the time it seemed Castor didn't provide full unification, although
it seemed possible to add it.  I'm not sure of the current state of
the library.

I would think you could add both full unification and backtracking to
Castor.  miniKanren uses a complete, interleaving search strategy,
rather than incomplete depth-first search as in standard Prolog.
miniKanren also uses the occur check for unification.  And
miniKanren's implementation uses only persistent data structures,
without side effects.  Those are the main differences between core
(pure) miniKanren and core (pure) Prolog.

More recent miniKanren's also support various constraints, including
disequality constraints and other tree/symbolic constraints.  These
are very useful in writing interpreters are relations, for example.
So a more extended Castor that was trying to be miniKanren-like would
probably include these constraints.

Hope this helps!

Cheers,

--Will


On Sat, Mar 21, 2015 at 5:26 PM, Eugene Grigoriev
<[email protected]> wrote:
> There is a C++ LP implementation: http://www.mpprogramming.com/cpp/
>
> It does not have explicit s-map, not explicit backtracking.  It relies on
> the host to provide both.
>
> If it would be extended to support interleaving streams using continuations,
> how would it then compare with miniKanren?
>
> Is there some fundamental problem with not having an explicit s-map?
>
> --
> 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/d/optout.

-- 
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/d/optout.

Reply via email to