Newsgroups: rec.arts.int-fiction
Path: nntp.gmd.de!news.ruhr-uni-bochum.de!news.rwth-aachen.de!uni-paderborn.de!golden-gate.owl.de!fu-berlin.de!news.nacamar.de!uunet!in3.uu.net!newspump.sol.net!howland.erols.net!netcom.com!erkyrath
From: erkyrath@netcom.com (Andrew Plotkin)
Subject: Re: Why you must use Prolog
Message-ID: <erkyrathDzn4D2.1G0@netcom.com>
Organization: NETCOM On-line Communication Services (408 261-4700 guest)
X-Newsreader: TIN [version 1.2 PL1]
References: <54g91v$j2q@prometheus.acsu.buffalo.edu>
Date: Mon, 21 Oct 1996 19:19:48 GMT
Lines: 26
Sender: erkyrath@netcom.netcom.com

Phil Goetz (goetz@cs.buffalo.edu) wrote:

> There are basically three ways to construct a plan.  One is to backchain
> on the effects of actions.  Another is to take plan hints that the
> programmer writes ahead of time -- "Y is a plan to do X."  The third,
> and perhaps the most powerful, is to analyze the program's code that
> specifies how the gameworld works, to find out how to achieve your goal.

> You can do the first two in any language.  To do the third, you have two
> choices: Either

> 1. Write a runtime interpreter for your language, so that a running program
> can disassemble and run pieces of itself, or

My (Inform) competition entry was designed with precisely this in mind. I 
didn't use it that way, of course, but when I programmed the engine I was 
thinking "Hey, dynamic programming system for the Z-machine."

Feel free to steal the idea and write a Prolog system in Inform. I don't 
expect it would be too hard.

--Z
-- 

"And Aholibamah bare Jeush, and Jaalam, and Korah: these were the
borogoves..."
