Non-binary Pronoun Discussion

From Introducing Ourselves - #1296 by sadiedemight.

1 Like

Yeah, that extension really isn’t meant to solve the non-binary issue.

Your extension looks excellent and looks like it might do more than what I added to Nathanael’s. Does it handle conjugation for people using they/them?

Edit: I must add that @Zed contributed critical code for getting the singular they working.

1 Like

What I’ve got so far overwrites the Standard Kits’ PronounNotice() which in effect updates each “them” form’s current target to be the mentioned noun (the one either just named by in the command or the one passed to “[regarding the…]”), if that “them” is one of the pronouns that the “pertentent pronouns” rulebook says the object should match.

E.g. a story can say “Pertinent pronouns about Chris: they-them appertains.” and then when the player says “x chris”, future uses of “they” refer to Chris.

1 Like

Oh, yes. You can say “[Chris] [is] here. [They] [is] non-binary.” and it’ll print “Chris is here. They are non-binary.”.

(I’ve overwritten “[they]” to remember to conjugate with the pronoun form rather than the person it refers to. It should work for all verbs, including new ones, without any additional change.)


Sounds perfect. I’ve got a v9 WIP that uses my/Nathanael’s work, but when I do a follow-up on v10 I’ll look into what you’ve done.

My plan for next steps on my code were to improve documentation (which interface tweaks as needed) and making it work with Z-machine (I’m not ever sure it doesn’t, but something in my testing layer is dying before I get far enough to tell.) and checking what older versions it’s compatible with. The v10 extension mechanism seems to be smarter than v9, so I don’t have any code indicating where to interpolate my replacements, which might be a problem, but I don’t think I’ve relied on any v10 features in the I6 I’ve written, so I’m hopeful.

What do you use as a testbed for your extension? How do you check “if it works” for any definition of “works”?

I’d also like in the much longer term to move a bunch of code from runtime startup to imperative time, but that’s a much bigger undertaking.

Ah testing. My big failing when it comes to I7. Which is weird because I’m an obsessive unit tester in my paid work. The v9 version of Inclusive Gender Options I’ve road tested pretty well (though still incompletely) using it in my WIP, but I can’t say the same for the v10 version.

My intent is to work on unit tests for some of my extensions, but life and working on competition games keeps interfering.

Bah. I was hoping there was some grand trick I was missing.

My bad solution was to define an Extension project, which let me write several different short story files in one physical file, but have that project have no code itself, instead having the real extension and re-used testing code as resources to the dummy project. It’s working, and it lets me do regression tests, but it feels wrong. And at least currently, I’m just manually duplicating certain things, like the examples in the documentation of the extension proper.

I was wondering if I needed to go learn some other tool like Intest, but that seemed like yet more work, and as much as I appreciate the theory of “literate” code, I find the Inform codebase rather hard to navigate.

1 Like

@zarf has a script for testing inform 7 games at least, that for the life of me I cannot remember the name of (and cannot Google for some reason), and I’m hoping he’ll pop in here and tell us.

ack! never mind I found it: RegTest: Simple IF Regression Tester

Also refer to Latest on unit testing in Inform 7

1 Like

Nothing to add here on the technicalities, I’m just really glad to see people still talking about this. I messed around with some ideas a few years ago, but I had absolutely no clue what I was doing, a fact immortalized on this very forum. I tried to learn more and continue with it, but found myself quickly exhausted by the apparent complexity of the task and obscurity of some of the needed information. Since I gave up, I’ve noted a few people continuing to work on additional pronoun support, and to all of those people I’m very grateful. The lack of this feature has been a pretty significant barrier to the stories I want to tell when writing in Inform 6 and 7, and the amount of extra effort required to do something linguistically trivial has been both distracting and a little discouraging. “I want to get on with writing the actual characters! Why is pronoun control not a feature of the parser!” And other such complaints.

So my sincere thanks to everyone working on this. Your work is important and appreciated. :heart:


Please give my extension a try!

I think I’ve got a decent handle on making it do things I can imagine authors doing, but what I don’t know is if I’m missing features and which features need to be easier to access.


I certainly will, will let you know how it goes! :smiley: