Uncountable nouns

Is there an easy way to teach I7 to deal with uncountable nouns like „cheese“ or „butter“?

I solved it by saying

A piece of cheese is a thing in…

and simplifying dealing with „cheese“ using

Understand „cheese“ as piece of cheese.

(Sitting at my iPad, so maybe there are some syntax mistakes in the code above…)

When I7 lists things of a room, it uses ‚a‘ as an indefinite article. But for uncountable nouns this doesn‘t seem to work („a butter“), although I am on thin ice here as a non-native speaker.

I‘m just curious. :blush:

Since we‘re at it, I think I read somewhere that I7 has a dictionary to check the code for spelling mistakes, but I couldn‘t really find out how to use it.

The way you introduce an object in your source code will lead Inform to decide whether it is singular or plural. But in addition to that, you can just tell Inform whether it is singular or plural, or change the indefinite article for it. This is discussed in 3.18 of the documentation, with the ‘some water’ example. This example matches your cheese situation.

Create the cheese with “the”. e.g. “the cheese is on the table.” This makes sure the cheese is single-named. But you may not want Inform to then talk about “the” cheese. The preferred article is “some”. So you can then just tell Inform what you want the article to be:

the cheese is on the table. The indefinite article of the cheese is "some".

What you call an ‘uncountable’ noun needs to be set up in Inform as single-named, and then you modify its indefinite article. If it was plural-named, you would end up with mistakes like:

>EAT CHEESE

The cheese are tasty.

-Wade

6 Likes

the cheese is on the table. The indefinite article of the cheese is "some".

This didn’t quite work when I wrote some cheese is on the table. The room description says “You can see a table (on which are some cheese) here.” This is what @severedhand warned about. I was able to fix it by adding It is singular-named.

Not wanting to repeat these rules I turned it into a kind:

stuff is a kind of thing.
stuff is always singular-named.
The indefinite article of stuff is "some".

So now all of these work like the original example:

The cheese is stuff. It is on the table.
Some cheese is on the table. It is stuff.
A cheese is on the table. It is stuff.

Then I tried the following:

air is stuff.
air is in My Room.

This showed up as “You can see air here.” which made sense. However, when I did x air, it came back as “You see nothing special about air.” But I would have expected it to say “You see nothing special about the air.”

After multiple rabbit holes poking around in the standard rules, inform 6 docs, etc. I finally settled on this:

stuff is a kind of thing.
stuff is always singular-named.
The indefinite article of stuff is "some".

To say the (something - stuff):
	say "the [something]".

To say The (something - stuff):
	say "The [something]".

I may turn this into an extension…

4 Likes
1 Like

The difference here is that when you write “air is stuff,” without “the”, Inform assumes that this is a proper-named object, and never gets any articles at all. (The more usual case is “Bob is a person.”)

Another way to deal with this is to customize the way the air appears in the room:

The air is stuff. "You can see air here. (Odd, that.)"

Then you get “the air” and “some air” in most situations, but that line in room descriptions.