Please send questions to
st10@humboldt.edu .
% adapted from Clocksin and Mellish, "Programming in Prolog", pp. 33-35
% last modified: 03-22-11
density(Place, Density) :-
pop(Place, Pop),
area(Place, Area),
Density is Pop/Area.
pop(united_states, 301139947).
pop(argentina, 40301927).
pop(kenya, 31987000).
pop(arcata, 15000).
/* in square kilometers */
area(united_states, 9826630).
area(argentina, 2766890).
area(kenya, 582650).
area(arcata, 5).
/* careful -- in Prolog, CANNOT use = for is... */
bad_density(Place, Density) :- pop(Place, Pop),
area(Place, Area),
Density = Pop/Area.
/* less-than example */
less_pop(Place1, Place2) :- pop(Place1, Pop1),
pop(Place2, Pop2),
Pop1 < Pop2,
writeln(Pop1),
writeln(Pop2).