> The main change that was needed was delayed goals which I implemented using > a co-routine that walks a structure, pausing any time it hits an un-ground > variable. > https://github.com/tca/veneer/blob/master/mk.js#L148
Delayed goals are useful in general. For example, for adding arithmetic over floating point numbers (with the understanding that the program errors out if the numbers never become sufficiently ground to perform the arithmetic operations). Is there an interface to the delayed goals I could use to add (for example) delayed addition and multiplication over the floating point numbers? > On a side note, with a small tweak it can also do the two watched literal > scheme SAT solvers use for unit propagation. Could this be applied somewhere > in miniKanren? Good question! I've wanted to explore calling to a SAT solver (or other solvers) from within miniKanren for a while. Do you think a simple SAT solver slong the lines of MiniSAT could be implemented with this approach? Are there any decent SAT solvers in JavaScript, BTW? Or finite domain or SMT solvers in JavaScript? I wonder if calling out to an external solver may be relatively simple in Veneer. > -- > 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. -- 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.
