home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / l / l210 / 1.ddi / EXAMPLES.ARC / CH10EX05.PRO < prev    next >
Encoding:
Text File  |  1988-06-21  |  645 b   |  35 lines

  1. /*
  2.    Turbo Prolog 2.0 Chapter 10, Example Program 5
  3.    
  4.    Copyright (c) 1986, 88 by Borland International, Inc
  5.    
  6. */
  7.    
  8. diagnostics
  9. check_determ
  10. database
  11.    counter( integer )
  12.  
  13. predicates
  14.    nondeterm repeat
  15.    my_retract(dbasedom)
  16.    count
  17.  
  18. goal
  19.    count.
  20.  
  21. clauses
  22.    repeat.  repeat :-  repeat.
  23.  
  24.    my_retract(X) :-  retract(X). % needs to be deterministic
  25.  
  26.    count :- assert( counter(0) ) , fail.
  27.    count :- repeat ,
  28.             counter(X),
  29.             Y = X + 1 ,
  30.             my_retract( counter(X) ) ,
  31.             asserta( counter(Y) ) ,
  32.             write(Y,"\n") ,
  33.             Y = 100.
  34.             
  35.