Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!cbosgd!ihnp4!alberta!sask!zaphod!bobd From: bobd@zaphod.UUCP (Bob Dalgleish) Newsgroups: net.lang.prolog Subject: Re: "assert" considered harmful? Message-ID: <561@zaphod.UUCP> Date: Fri, 20-Jun-86 18:09:16 EDT Article-I.D.: zaphod.561 Posted: Fri Jun 20 18:09:16 1986 Date-Received: Sun, 22-Jun-86 07:17:48 EDT References: <1754@utai.UUCP> <269@ubc-cs.UUCP> <1245@lsuc.UUCP> Reply-To: bobd@zaphod.UUCP (Bob Dalgleish) Organization: Develcon Electronics, Saskatoon SK Canada Lines: 26 Keywords: cache optimization production In the suggested application, this is the way that I would use assert: controls(T1, T2) :- known_controls(T1, T2). controls(T1, T2) :- figure_out_controlling_interests(T1,T2), assert(known_controls(T1,T2)). You now have a "program" portion (controls), and a data caching portion (known_controls) which are separated. Certainly, we need to separate the two issues of program purity (required to support compilation), and academic purity (required to support ivory towers). Tax-planning is a very good application for an expert system, and using standard computational science methods to make the implementation viable is in all of our best interests. Adding time into the database should not be that difficult, since it is expressed as: known_controls(Time,Taxpayer1,Taxpayer2) ... When the time is unknown or irrelevant for the period of interest, express it as a construct that matches all time (i.e., a variable). -- [Forgive me, Father, for I have signed ...] Bob Dalgleish ...ihnp4!{alberta!}sask!zaphod!bobd (My mother has disclaimed any knowledge of me)