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.
