Please send questions to st10@humboldt.edu .
%--------
% for CS 335 - Homework 5 - Problem 6
%
% last modified: 03-06-11
%--------

:- dynamic is_place/1, now_at/1.

is_place(arcata).
is_place(eureka).
is_place(mckinleyville).

now_at(arcata).
make_place(Place) :- \+( is_place(Place) ),
                     assert( is_place(Place) ).

go_to(Place) :- is_place(Place),
                retract( now_at(_) ),
                assert( now_at(Place) ),
                write('I am now at '),
                writeln(Place).
             
where_am_i :- write('I am at '),
              now_at(X),
              writeln(X).

list_places :- writeln('current places are: '),
               is_place(Place),
               writeln(Place),
               fail.