Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!decvax!harpo!seismo!hao!hplabs!sri-unix!Abbott@AEROSPACE From: Abbott@AEROSPACE@sri-unix.UUCP Newsgroups: net.lang.prolog Subject: Purity Message-ID: <12813@sri-arpa.UUCP> Date: Wed, 19-Oct-83 22:52:00 EDT Article-I.D.: sri-arpa.12813 Posted: Wed Oct 19 22:52:00 1983 Date-Received: Sun, 23-Oct-83 17:16:22 EDT Lines: 12 From: Abbott at AEROSPACE (Russ Abbott) In considering the question of Prolog's purity vs. its convenience for programmers, I wonder how '=..' fits in. As a pure first order logic system, Prolog disallows variables as predicate names--even though that would sometimes be very convenient. Yet one can write Term =.. [Predicate | Arguments], Term, in violation of all first order principles. What are the justifications for these rules ?