Prohibitions in extension naming?

I recently tried to create an extension called “Eight by Eight Chessboard.” Inform didn’t like this, even though I had a file called Eight by Eight Chessboard.i7x in the right directory. Regulation Size Chessboard worked okay.

It appears the word “by” is the culprit.

I tried stuff like “Include a module called Eight by Eight Chessboard by Andrew Schultz” and that didn’t work either (e.g. “there is a room called the rag and bone shop.”)

Is this correct behavior? Are there other words in extensions that should not be used? Is it worth fixing, if it is a bug?

I think the only two reserved keywords in an include phrase are “include” and “by”, so they’re the only ones to worry about. “Include” is unambiguous since it appears first in the phrase, leaving by as the only problematic word. Inform can’t tell whether you mean:

“Eight by eight chessboard” by Andrew Schultz
or
“Eight” by Eight Chessboard by Andrew Schultz.

So no, it’s not a bug, it’s a grammatical necessity for a stupid parser.

2 Likes

It’s a documented limitation. WI 27.4

The author name must not start with “The”, nor contain the words “by”, “and” or “version”, or contain punctuation, as in “John X. Doe”; the title similarly, except that “and” is permitted. Name and author’s name must each be no more than 50 characters long, including any spaces between words.

…but that it can’t begin with “Include” isn’t documented that I see and is good to know.

1 Like

I do wonder why “the” is reserved. It seems unambiguous; I wonder if it’s just a matter of style, not wanting people to credit their extension to “The I7 User Group” or whatever?

1 Like

I went looking in the v10 source and I couldn’t readily see a place where something explicitly enforces it; I’m wondering whether it might be an incidental implementation detail regarding the parser mostly not considering “the” to be significant.

2 Likes

Including an extension by the Owl and the Pussycat throws up no compilation problems (for me). Perhaps these reservations are outdated?

2 Likes

Thanks all. This seems like such a minor thing, but it’s always good to know whether or not I’ve been missing something obvious/critical for a good long while. Thankfully, there are easy enough workarounds.

I went with “regulation size chessboard” as the extension name in the end.