New action syntax—what are the limits?

I am trying to understand the limits of the syntax needed to define a new action.

So far, I’ve seen that we can write:

Booeying is an action applying to one thing.

Fluffing it with is an action applying to two things.

The first case needs no placeholder for the noun, while the second case has “it” as the noun’s placeholder, needing no placeholder for the second noun.

But how rigid is this form? Inform actually allows:

Fluffing is an action applying to two things.
Booeying is an action applying to one thing and one topic.

Etc. No “it” placeholder needed, even for thing+thing or thing+topic actions.

In fact, no gerund (or verb) is needed, either:

Booeee is an action applying to two things.

which makes me wonder, how can anyone use this action at all?

Actions that keep the syntax we can actually try:

Test Space is a room. Fred is a man in the Test Space. The gong is in the Test Space.

ssseee is an action applying to one thing.

Carry out ssseee:
	say "Now [the noun] is ssseeed."
	
After examining fred:
	try ssseee fred.

bbbeee it with is an action applying to two things.

Carry out bbbeee it with:
	say "Now [the noun] is bbbeeed with [the second noun]."
	
Before examining fred:
	try bbbeee fred with the gong.

which produces:

Deleting “with” from the above code gives an error message, showing that some sort of preposition between the first and the second noun is essential.

What confuses me is, if “it” and “with” are essential, why is the following accepted by the compiler?

Booeee is an action applying to two things.

Can we get the game to “try” such an action and how?

Thanks for bearing with me. :unamused:

As you’ve basically discovered, there’s nothing special about a gerund for an action name–the Inform compiler doesn’t recognize a difference between “bbbeeeing” and “bbbeee” (I don’t think) as particularly suitable for action names. It’s just customary to make sure action names are gerunds in order to keep the code readable.

As for why the compiler accepts the syntax, and how you can use an action so defined–you can have the action understood, and directly triggered by the player. So:

[code]Test Space is a room. Fred is a man in the Test Space. The gong is in the Test Space.

ssseee is an action applying to one thing.

Carry out ssseee:
say “Now [the noun] is ssseeed.”

After examining fred:
try ssseee fred.

bbbeee is an action applying to two things. Understand “bbbeee [something] [something]” as bbbeee.

Carry out bbbeee:
say “Now [the noun] is bbbeeed with [the second noun].”[/code]

But it does look like, if there’s no preposition in the action name, the Inform compiler will choke on phrases like “try bbbeee Fred the gong.” And it’s probably better to make sure that you have your “it” and preposition in place, especially as it will keep the code far more readable.

So “it” seems to be essential and not just a nice habit. Unless someone can point out an “it”-less syntax that still works for a 2-noun action, in a “try bbbeee…” phrase.

(Writing an “understand” rule obviously makes things clear. It is the “trying the action” phrase that chokes on the bad syntax…)

Thank you!