% $Id: SolveExamples.oz,v 1.2 2008/12/05 04:55:41 leavens Exp leavens $ % Unification failures are also failures declare V3=3 {Browse V3} proc {Example ?R} choice V3=3 R=a [] V3=0 R=b [] fail R=c end end {Browse example#{List.take {Solve Example} 3}} % Solve encapsulates search. % Can only read variables declared before solving declare V4 {Browse V4} proc {Example2 ?R} choice V4=1 R=a [] V4=2 R=b [] V4=3 R=c end end {Browse example2#{List.take {Solve Example2} 3}} % suspends % feeding this makes it go... % V4=2