§17.16. Understanding things by their relations

Sometimes it makes sense for the name of something to involve the names of other things to which it is related. For instance, if we say TAKE THE BOTTLE OF WINE, we mean that the bottle currently contains wine - if it were the very same bottle containing water, we would call it something else.

For names which must involve related names, a special form of token is provided. For instance, we could say:

A box is a kind of container. Understand "box of [something related by containment]" as a box.

The Toyshop is a room. The red box is a box in the Toyshop. Some crayons are in the red box.

and now TAKE BOX OF CRAYONS will work, because CRAYONS matches against "[something related by containment]" for the red box - or it does for as long as the crayons are there. We can have similar matches against relations of all kinds, but have to name the relation explicitly. (See the examples at the end of this section for plenty of cases.)

We can also reverse the sense. If we write:

A box is a kind of container. Understand "box in [something related by reversed containment]" as a box.

The Toyshop is a room. The crate and the hammock are in the Toyshop. In the crate is a box. In the hammock is a box.

then TAKE THE BOX IN THE HAMMOCK will work: here, the relation goes the other way, because the box is being contained by the other-named item, rather than doing the containing.


arrow-up.pngStart of Chapter 17: Understanding
arrow-left.pngBack to §17.15. Understanding things by their properties
arrow-right.pngOnward to §17.17. Context: understanding when

*ExampleWhither?
A door whose description says where it leads; and which automatically understands references such as "the west door" and "the east door" depending on which direction it leads from the location.

*ExampleCinco
A taco shell that can be referred to (when it contains things) in terms of its contents.

*ExamplePuncak Jaya
When a character is not visible, responding to such commands as EXAMINE PETER and PETER, HELLO with a short note that the person in question is no longer visible.

We start by creating a camera and a photograph object. As usual when we want to have a kind of object that can be dispensed in bulk, we start off with a bunch of identical instances of the object out of play (in this case, kept in an out-of-play container called "film roll"); we can then move them into play and give them characteristics when they're needed.

Each photograph can depict exactly one thing -- we're assuming that the player is not a landscape photographer here -- so we create a relation to indicate what is shown by each photograph. We'll then use that relation to determine how photographs are described, named, and parsed:

paste.png "Claims Adjustment"

A photograph is a kind of thing. 36 photographs are in the film roll.

Appearance relates one thing to various photographs. The verb to be shown by means the appearance relation.

The description of a photograph is usually "It shows [a random thing which is shown by the item described]."

Understand "of [something related by reversed appearance]" as a photograph.

This allows the player to refer to any photograph by its subject: useful if we have a large number of them.

Now we create an action to let the player use the camera and generate these photograph objects:

The player carries a cheap instant camera.

Understand "photograph [something] with [camera]" as photographing. Understand "photograph [something] with [something preferably held]" as photographing. Photographing is an action applying to one visible thing and one carried thing, requiring light.

The photographing action has an object called the selected film.

Setting action variables for photographing:
    let N be a random photograph in the film roll;
    now the selected film is N.

Check photographing:
    if the second noun is not the camera, say "You need a camera for that purpose." instead.

Check photographing:
    if the noun is the camera, say "Sadly impossible." instead.

Check photographing:
    if the selected film is nothing, say "You're out of film." instead.

Carry out photographing:
    now the noun is shown by the selected film;
    move the selected film to the player.

Report photographing:
    say "Your camera instantly spits out [a selected film]."

Now we use two activities from the Activities chapter to describe the photographs to the player more elegantly:

After printing the name of a photograph (called target):
    say " of [a random thing which is shown by the target]".

After printing the plural name of a photograph (called target):
    let N be the holder of the target;
    say " of [a list of things which are shown by photographs which are held by N]";
    if the number of things which are shown by photographs which are held by N is greater than one, say " (variously)".

And finally we provide a brief scenario to give the player something to take pictures of:

The Treasure Room is a room. "Despite the fancy name, this is no more than a closet -- albeit a closet with its own special circuit on the house alarm."

The Treasure Room contains a small Degas, a Ming vase, and a collection of South African krugerrands. The player is carrying insurance forms, a first-class stamp, and a security envelope.

The description of the forms is "Completely filled out in black ink in block letters: now all you need to do is attach photographic evidence of the objects you wish to insure."

Test me with "photograph degas / i / photograph degas / i / x photograph of degas / photograph me / x photograph of me / i / photograph vase / photograph camera / photograph collection / g / i / test more".

Test more with "x photograph of collection / x photograph of krugerrands / x photograph of collection of south african krugerrands / photograph photograph of degas / x photograph of photograph of degas".

**ExampleClaims Adjustment
An instant camera that spits out photographs of anything the player chooses to take a picture of.

We start by creating a camera and a photograph object. As usual when we want to have a kind of object that can be dispensed in bulk, we start off with a bunch of identical instances of the object out of play (in this case, kept in an out-of-play container called "film roll"); we can then move them into play and give them characteristics when they're needed.

Each photograph can depict exactly one thing -- we're assuming that the player is not a landscape photographer here -- so we create a relation to indicate what is shown by each photograph. We'll then use that relation to determine how photographs are described, named, and parsed:

paste.png "Claims Adjustment"

A photograph is a kind of thing. 36 photographs are in the film roll.

Appearance relates one thing to various photographs. The verb to be shown by means the appearance relation.

The description of a photograph is usually "It shows [a random thing which is shown by the item described]."

Understand "of [something related by reversed appearance]" as a photograph.

This allows the player to refer to any photograph by its subject: useful if we have a large number of them.

Now we create an action to let the player use the camera and generate these photograph objects:

The player carries a cheap instant camera.

Understand "photograph [something] with [camera]" as photographing. Understand "photograph [something] with [something preferably held]" as photographing. Photographing is an action applying to one visible thing and one carried thing, requiring light.

The photographing action has an object called the selected film.

Setting action variables for photographing:
    let N be a random photograph in the film roll;
    now the selected film is N.

Check photographing:
    if the second noun is not the camera, say "You need a camera for that purpose." instead.

Check photographing:
    if the noun is the camera, say "Sadly impossible." instead.

Check photographing:
    if the selected film is nothing, say "You're out of film." instead.

Carry out photographing:
    now the noun is shown by the selected film;
    move the selected film to the player.

Report photographing:
    say "Your camera instantly spits out [a selected film]."

Now we use two activities from the Activities chapter to describe the photographs to the player more elegantly:

After printing the name of a photograph (called target):
    say " of [a random thing which is shown by the target]".

After printing the plural name of a photograph (called target):
    let N be the holder of the target;
    say " of [a list of things which are shown by photographs which are held by N]";
    if the number of things which are shown by photographs which are held by N is greater than one, say " (variously)".

And finally we provide a brief scenario to give the player something to take pictures of:

The Treasure Room is a room. "Despite the fancy name, this is no more than a closet -- albeit a closet with its own special circuit on the house alarm."

The Treasure Room contains a small Degas, a Ming vase, and a collection of South African krugerrands. The player is carrying insurance forms, a first-class stamp, and a security envelope.

The description of the forms is "Completely filled out in black ink in block letters: now all you need to do is attach photographic evidence of the objects you wish to insure."

Test me with "photograph degas / i / photograph degas / i / x photograph of degas / photograph me / x photograph of me / i / photograph vase / photograph camera / photograph collection / g / i / test more".

Test more with "x photograph of collection / x photograph of krugerrands / x photograph of collection of south african krugerrands / photograph photograph of degas / x photograph of photograph of degas".

We start by creating a camera and a photograph object. As usual when we want to have a kind of object that can be dispensed in bulk, we start off with a bunch of identical instances of the object out of play (in this case, kept in an out-of-play container called "film roll"); we can then move them into play and give them characteristics when they're needed.

Each photograph can depict exactly one thing -- we're assuming that the player is not a landscape photographer here -- so we create a relation to indicate what is shown by each photograph. We'll then use that relation to determine how photographs are described, named, and parsed:

paste.png "Claims Adjustment"

A photograph is a kind of thing. 36 photographs are in the film roll.

Appearance relates one thing to various photographs. The verb to be shown by means the appearance relation.

The description of a photograph is usually "It shows [a random thing which is shown by the item described]."

Understand "of [something related by reversed appearance]" as a photograph.

This allows the player to refer to any photograph by its subject: useful if we have a large number of them.

Now we create an action to let the player use the camera and generate these photograph objects:

The player carries a cheap instant camera.

Understand "photograph [something] with [camera]" as photographing. Understand "photograph [something] with [something preferably held]" as photographing. Photographing is an action applying to one visible thing and one carried thing, requiring light.

The photographing action has an object called the selected film.

Setting action variables for photographing:
    let N be a random photograph in the film roll;
    now the selected film is N.

Check photographing:
    if the second noun is not the camera, say "You need a camera for that purpose." instead.

Check photographing:
    if the noun is the camera, say "Sadly impossible." instead.

Check photographing:
    if the selected film is nothing, say "You're out of film." instead.

Carry out photographing:
    now the noun is shown by the selected film;
    move the selected film to the player.

Report photographing:
    say "Your camera instantly spits out [a selected film]."

Now we use two activities from the Activities chapter to describe the photographs to the player more elegantly:

After printing the name of a photograph (called target):
    say " of [a random thing which is shown by the target]".

After printing the plural name of a photograph (called target):
    let N be the holder of the target;
    say " of [a list of things which are shown by photographs which are held by N]";
    if the number of things which are shown by photographs which are held by N is greater than one, say " (variously)".

And finally we provide a brief scenario to give the player something to take pictures of:

The Treasure Room is a room. "Despite the fancy name, this is no more than a closet -- albeit a closet with its own special circuit on the house alarm."

The Treasure Room contains a small Degas, a Ming vase, and a collection of South African krugerrands. The player is carrying insurance forms, a first-class stamp, and a security envelope.

The description of the forms is "Completely filled out in black ink in block letters: now all you need to do is attach photographic evidence of the objects you wish to insure."

Test me with "photograph degas / i / photograph degas / i / x photograph of degas / photograph me / x photograph of me / i / photograph vase / photograph camera / photograph collection / g / i / test more".

Test more with "x photograph of collection / x photograph of krugerrands / x photograph of collection of south african krugerrands / photograph photograph of degas / x photograph of photograph of degas".