Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!elsie!imsvax!ted From: ted@imsvax.UUCP (Ted Holden) Newsgroups: net.micro.pc,net.lang Subject: Things left out of Borland's Prolog Message-ID: <636@imsvax.UUCP> Date: Tue, 4-Nov-86 22:35:38 EST Article-I.D.: imsvax.636 Posted: Tue Nov 4 22:35:38 1986 Date-Received: Wed, 5-Nov-86 22:45:27 EST Organization: IMS Inc, Rockville MD Lines: 22 Xref: mnetor net.micro.pc:7540 net.lang:1279 There's a paragraph in the September issue of Dobbs Journal which I can't get over: "Perhaps the greatest shortcoming of Turbo Prolog as an implementation of Prolog is the lack of what might be called "metalinguistic" functions and operators. Some of these supplied in Prolog are arg, functor, name, op, clause, and call and the univ operator. In general, these functions allow the Prolog program to examine itself, to operate on code as data, and to construct new clauses and goals undreampt of by the programmer." Now, I don't TRUST my own computer or any of IMS's computers enough to let them try to program themselves.... no telling what they might try to do. Can anyone out there give me an example of a legitimate use for such a technique, preferably one which could not be achieved with more ordinary kinds of programming skills and languages? Any opinions as to whether Kahn left these things out of Turbo Prolog because he thought they were dangerous or whether he's just being lazy? Ted Holden IMS