Craig,

Solve is not defined by Mozart. Have you picked the definition of Solve that is provided on the book's supplement web site?

raph


Craig Ugoretz wrote:
Hello,
I have an idea how to generate test data for a parser that I may need to create for a Java based parser generator. This process would involve using what I have learned about relational programming in the CTM book. However, I am running into a problem with the program blocking on the {Solve F} construct in a sample program that I have created. The program should print out the following strings: ab, ac, ba, bc, ca, cb. The code for the program is given below:
declare
fun {Pick} choice a [] b [] c end end

fun {DiffPair}
   P1 P2
in
   P1 = {Pick}
   P2 = {Pick}
   if P1==P2 then fail else P1#P2 end
end

fun {SolveAll F}
   L={Solve F}
   proc {TouchAll L}
      if L==nil then skip else {TouchAll L.2} end
   end
in
   {TouchAll L}
   L
end

{Browse {SolveAll DiffPair}}
_________________________________________________________________________________
mozart-users mailing list                               
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users

Reply via email to