home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / l / l217 / 2.ddi / EXAMPLES / CH08EX08.PRO < prev    next >
Encoding:
Prolog Source  |  1990-03-26  |  608 b   |  28 lines

  1. /*
  2.    Copyright (c) 1986, 90 by Prolog Development Center
  3. */
  4.    
  5. domains
  6.    name, address = string
  7.    age = integer
  8.    list = age*
  9.  
  10. predicates
  11.    person(name, address, age)
  12.    sumlist(list, age, integer)
  13.  
  14. goal
  15.    findall(Age, person(_, _, Age), L),
  16.    sumlist(L, Sum, N),
  17.    Ave = Sum/N,
  18.    write("Average =", Ave), nl.
  19.  
  20. clauses
  21.    sumlist([], 0, 0).
  22.    sumlist([H|T], Sum, N) :- sumlist(T, S1, N1), Sum=H+S1,
  23. N=1+N1.
  24.  
  25.    person("Sherlock Holmes", "22B Baker Street", 42).
  26.    person("Pete Spiers", "Apt. 22, 21st Street", 36).
  27.    person("Mary Darrow", "Suite 2, Omega Home", 51).
  28.