[Reality] verbObject location -- what to do about verb ambiguity?

Glyph Lefkowitz glyph@divunal.com
Mon, 16 Aug 1999 21:04:51 -0400 (EDT)


Example situation:

I have a Location{ name "table" feature "twisted.reality.Put"} and a
Location{name "box" feature "twisted.reality.Put"}.  I want to put the
book on the table.  This is a problem.

Right now, the parser sees 'put book on table' and barfs (throws an
AmbiguousVerbException). It can't figure out whether the book is the
verbObject or the table is the verbObject.  It also doesn't know whose
'put' verb to use.

"Pshaw," I hear you say.  "This is simple.  Make verbObject throw an
AmbiguousVerbException later (if it's called) and execute the verb which
they both have!".

"Yes", I respond, self-referentially, 'They do have the same verb.  But
what if the other verb was random.other.Put and did something different?
How would it know then?"

"I ask this", I continue, in an esoteric blend of first and third person,
"because there are many circumstances where one would wish to put a box on
a table, or take a grappling hook with a claw, or perhaps say something
with a microphone to a person.  I'm working on a solution, but I'd like to
hear some other ideas, because I haven't been able to come up with
anything suitably generic."

--glyph