Terminator — 18 of 33

Matt Weiner

Release 0

Section 6 - Some Disambiguation Stuff

[I don't want disambiguation questions to spoil which robot is where by asking "Which do you mean, Beta or Zeta?", so let's see if we can take care of that.]

Orientation relates a thing (called the item) to a direction (called the way) when the way is the direction the item lies from the person asked.

Understand "[something related by orientation]" as a thing when the disambiguation status is currently disambiguating.

[This seemed like it was slamming the performance, and it should be redundant when not disambiguating--instead of saying "go to northwest robot" you could say "go northwest"--so we do some trickery to make sure this only runs when we're processing a disambiguation response.]

Disambiguation state is a kind of value. The disambiguation states are standard, about to ask for disambiguation, and currently disambiguating.

The disambiguation status is initially standard.

First after asking which do you mean: now the disambiguation status is about to ask for disambiguation. [This will get converted to "currently disambiguating" when printing the command prompt kicks the every turn rules.]

Before reading a command: now the disambiguation status is standard. [This works because disambiguation prompts don't run the "before reading a command" rulebook... which is also why something so kludgy is necessary, I think.]

For printing the name of a robot (called bot) while asking which do you mean:

let the way be the direction the bot lies from the person asked;

if the way is down:

say "[seen name of the bot] by [printed name of the person asked]";

otherwise:

say "[the way]ern [seen name of the bot]".

Understand "northern" as north. Understand "southern" as south. Understand "eastern" as east. Understand "western" as west. Understand "northeastern" as northeast. Understand "northwestern" as northwest. Understand "southwestern" as southwest. Understand "southeastern" as southeast. [somewhere in here there's a terrible interaction with Multiple Actors where disambiguation may keep the person asked fixed on the robot asked, allowing it to be issued direct commands, giving run-time errors, and generally messing everyone up. Hopefully no one will encounter it!]

Understand "by [something related by immediacy]" as a thing when the disambiguation status is currently disambiguating. [This should let "the hauler down by Gamma" through as a disambiguation response, not that it much matters, because that action will always fail due to having reached the noun.]

[Maybe a simpler way to do that would be to just let a direction that's typed in be interpreted as a command. Except I can't do that right now without some I6 knowledge, because directions aren't treated as commands that interrupt disambiguation, and because the trick I know to adjust that is for letting words that could be verbs not interrupt disambiguation, not vice versa. Disambiguation, why you gotta be such a lint puppet?]