home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / l / l217 / 2.ddi / EXAMPLES / CH10EX03.PRO < prev    next >
Encoding:
Text File  |  1990-03-26  |  900 b   |  39 lines

  1. /*
  2.    Copyright (c) 1986, 90 by Prolog Development Center
  3. */
  4.    
  5. shorttrace write_list, assert_facts
  6. domains
  7.    list = symbol*
  8.  
  9. database
  10.    owns(symbol,symbol)
  11.  
  12. predicates
  13.    assert_facts
  14.    gather_goods(symbol)
  15.    write_list(list)
  16.  
  17. clauses
  18.    assert_facts :- 
  19.          assertz( owns(micki, dog) ) ,
  20.          assertz( owns(micki, car) ) ,
  21.          assertz( owns(micki, dress) ) ,
  22.          assertz( owns(eloise, car) ) ,
  23.          assertz( owns(claudio, tennis_racket) ) ,
  24.          assertz( owns(claudio, sneakers) ) ,
  25.          assertz( owns(kenny, boots) ).
  26.  
  27.    gather_goods(Who) :-  
  28.          findall(Goods, owns(Who,Goods), Goods_list) ,
  29.          write(Who, " owns:\n") ,
  30.          write_list(Goods_list).
  31.  
  32.    write_list([]):- !.
  33.    write_list([H|T]) :-  write(H,"\n"), write_list(T).
  34.  
  35. goal
  36.    assert_facts ,
  37.    gather_goods(micki) ,
  38.    write("That's all!\n").
  39.