Newsgroups: rec.arts.int-fiction
Path: gmd.de!xlink.net!howland.reston.ans.net!noc.near.net!uunet!ddsw1!chinet!jorn
From: jorn@chinet.chinet.com (Jorn Barger)
Subject: Re: Deceptive RACTER claims, and TADS-RACTER-Eliza
Message-ID: <C9C2yo.GAB@chinet.chinet.com>
Organization: Chinet - Public Access UNIX
References: <741146773snx@hinrg.starconn.com>
Date: Mon, 28 Jun 1993 13:32:47 GMT
Lines: 35

Mike Roberts quotes me:
>> "The %property% of %object% is %value%"  
>
>Sounds very interesting.  I'm not sure what exactly you plan with
>the "property types" - could you give a simple example (or was this
>the question? :).

Having now read the RACTER-compiler manual, here's a much more general format:

Sentence-templates will be *lists* of TADS objects, methods, and single-
quoted strings.  So the sentence above might be:

[property the-method 'of' object 'is' object.property]

My idea of 'property types' was to pre-declare whether a property is
an object or a list or a function, etc, and what class of objects are
normally allowed.  So the root propType will expect a lone object of
any class, stringType and numType are obvious, propListType promises a
list of objects, fListType a function that evaluates to such a list,
etc.

These would share a 'getObj' method that can, for fListType, eval the 
function, and *then* randomly pick one element of the resulting list and 
return it.

Conjugation of verbs might be handled similarly:

[ ... is-verb 3rd-person singular present ... ]

And I want this 'Racter' to be able to complicate a simple noun into
stuff like: "the red bottle that is open that is in the lab"

more soon...

jorn
