Searching the Documentation for the word "pronoun", I find almost
nothing -- in particular, there doesn't seem to be a description of how
the parser goes about interpreting pronouns, much less any indication of
how the author might wrestle with the parser's default tendencies. Nor
does the text string "it" (in quotes) appear anywhere in the Standard
Rules, so I'm wondering where the rules are that assign "it" to things.
This seems like a prime candidate for an addition to the upcoming
edition of the Handbook, but I'm at a loss where to start. Can some kind
person help me understand what's going on?
Thanks!
--JA
The pronouns 'it', 'him', 'her', and 'them' are stored in an I6 array
called LanguagePronouns which is defined in the I6 template
"Language.i6t" at "@p Pronouns.". The handling of pronouns is coded at
"@p Pronoun Handling." in "Parser.i6t". Pronouns can be set by the
phrases "To set pronouns from possessions of the player" and "To set
pronouns from", defined in Section SR5/6/4 - Understanding - Scope and
pronouns of the Standard Rules.
Christian
The extension "Pronouns" exposes these to I7.
I agree it's an unusual omission.
Thanks, Christian ... but "defined," yes. "Explained," no. I would have
no idea, based on that section of the Standard Rules, how to set (or
unset) one particular pronoun.
Let's suppose, for example, that I want "it" to refer to some particular
object at some particular moment. So maybe I can write code that says this:
Instead of taking the plural-object:
now the player carries the singular-object;
set pronouns from the singular-object.
That LOOKS as if it might be legal -- but the word "pronouns" above is
plural, so how is the parser supposed to know that the singular-object
is to be used to set the word "it", and not the word "them" or "him" or
"her"??? Worse, what if I need to set values for "it", "them", and "him"
in the same block of code at the same time??? How will the rule defined
in SR5/6/4 allow me to do that?
Another question:
It appears that the parser looks around a room and finds the last (?)
plural-named object to refer to as "them" until something new comes
along. So then the player goes to another room and types 'x them'.
Here's the actual output from my WIP:
>x them
You can't see "them" (the fluffy white clouds) at the moment.
This particular case is trivial, it's not a problem -- but what if the
"them" object is something that the author wants the player to have to
pay attention to before its importance is revealed? The above output
could easily be a spoiler. So the question is, how might an author shut
off a pronoun (unset it), prevent its being turned on in the first
place, or prevent its being used to refer to some specific visible but
seemingly unimportant object -- and without a disambiguation notice
being printed?
I guess that's three questions. Or maybe four.
I'm finding this business irritating because Inform's UI, which is
widely touted as being user-friendly, is so bafflingly opaque when it
comes to handling such a seemingly simple task as instructing the parser
about pronoun usage. Jeff Nyman was making a similar comment earlier
today about Glulx styles, another case where the novice user should not
be forced to tie herself into pretzeloid configurations -- but alas.
I think I need to go do something completely different for a day or two.
I'm getting grumpy. But I do want to include a full discussion of
pronoun perplexities in the Handbook, so I hope someone will be able to
untangle this topic, if not for my benefit, then for the benefit of the
mystified readers thereof.
--JA
Ah, beautiful. Thanks! That solves the problem, and it's definitely
something I'll recommend in the Handbook.
--JA
Do you need to?
I don't know if it gives you enough flexibility, but it seems to me that
you could use Emily Short's Plurality extension and use the internal
pronouns feature, which adds "Have the parser notice [some noun]."
Adam
You may be right. I wasn't aware of that syntax. Ron's Pronouns
extension, which appears to allow for a finer degree of control, seems
to do everything I need.
--JA
The Pronouns extension is really useful. Sorry, Jim, I wasn't aware
that the handling of pronouns is completely undocumented.
By the way, what happened to the manual pronouns option? Defining the
I6 Constant MANUAL_PRONOUNS (like in Plurality by Emily Short) doesn't
start out with all the pronouns unset. I can't see any difference to
the default behaviour.
Christian