Hi, Dakota

I have an implementation. It's still work in progress, though. There is a 
couple of bugs, and code is less clear than I want it to be. Probably, I 
hope I will have time during Christmas holidays to finish it (BTW, 
Christmas is 7 January in Orthodox church :)

You can get some insight from current state of code.

First, look at (?~) - negation operator 
https://github.com/eucpp/OCanren/blob/320d25b916e76794479262312e1d39f2b2f2aa4f/src/MiniKanrenCore.ml#L1459-L1479

You'll probably also interested in Disequality implementation (
https://github.com/eucpp/OCanren/blob/320d25b916e76794479262312e1d39f2b2f2aa4f/src/MiniKanrenCore.ml#L853).
 
It is based on implementation from faster-minikanren, but also can handle 
universally quantified variables in disequalities. Look at submodule 
Disjunction (which is a name for single disequality, i.e. list of 
disjuncts) 
https://github.com/eucpp/OCanren/blob/320d25b916e76794479262312e1d39f2b2f2aa4f/src/MiniKanrenCore.ml#L960

суббота, 16 декабря 2017 г., 0:52:44 UTC+3 пользователь Dakota Fisher 
написал:
>
> Evgenii, 
>
> Do you have an implementation that you can share? I'm curious as to what 
> your idea looks like in code. 
>
> -Dakota 
>
>

-- 
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 https://groups.google.com/group/minikanren.
For more options, visit https://groups.google.com/d/optout.

Reply via email to