One of those design decisions that we've gone round and round about.
There's certainly good sides and downsides, and room for lots of choices. I
liked that we could, easily and without any sort of explicit effect, always
create a new fresh variable by incrementing a counter that is
threaded through the state along with the substitution. If variables are
all created in such a fashion, and then numeric equal is sufficient.
Choosing predicates and defining operations that work properly over *just*
the appropriate variety of data (when possible) is something I picked up in
the last couple of years. I think of it as a way to fake/emulate real ADTs.





On Thu, Feb 9, 2017 at 8:57 AM, Cev Ing <[email protected]> wrote:

> µKanren uses `=` in `var=?`, which limits the use case to numbers.
>
> https://github.com/jasonhemann/microKanren/blob/master/microKanren.scm#L6
>
> Why the code does not use `equal?` instead?
>
> --
> 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.
>



-- 
JBH

-- 
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