Hi minikanren, I have posted a question on comp.lang.prolog about doing the quines trick in prolog.
Here is the link: https://groups.google.com/forum/#!topic/comp.lang.prolog/81dH-fK4i14 Here is copy of my mail: ------------------------- Hello I'm very interested in logic programming and I was surprised when I learned minikanren (a prolog like language with occurs check and fair search) can produce quines by running the query (evalo q q) (find terms q which evaluate to themselves). You can see the code for this here https://github.com/webyrd/quines/blob/master/q.scm and the paper here http://webyrd.net/quines/quines.pdf As I said I was very surprised that this is possible. I assumed it was just the combination of occurs check and fair search - so I set out to rewrite the program in prolog with occurs check enabled and using tor for iterative deepening search. Also using dif/2 as =/=. Here is my rewrite http://lpaste.net/7559243673339166720 It correctly evaluates the pre-written quine, it is able to fill in the blank for p1 but it cannot fill in the blank for p2 (it seems to infinite loop, while mk generates many quines in one second). So I wanted to ask does anyone have any ideas why it is not possible to reproduce this in prolog? -- 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.
