Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001116Core InformAssertions and creationspublic2013-05-28 17:512014-05-07 07:34
Assigned Tograham 
PlatformOSOSX 10.6.8OS Version
Product Version6G60 
Target VersionFixed in Version6L02 
Summary0001116: Unnamed creations with properties require specific, under-documented wording.
DescriptionDoes (or rather, fails to do) what it says on the tin. Although the proper wording for creating unnamed objects is documented when trying to compile "A red tile is in World," using "contains" causes Inform to flat-out deny all understanding and suggest an invalid syntax - while without an adjective present, it compiles without issue.

The problem message:

- - - -
Problem. You wrote 'World contains a red tile': but this description of a relationship makes no sense to me, and should be something like 'X is in Y' (or 'on' or 'part of Y'); or else 'X is here' or 'X is east of Y'.
- - - -
Minimal Source Text To Reproduce
A colour is a kind of value. The colours are red and blue.

A tile is a kind of thing. A tile has a colour.

World is a room.

In World is a red tile. [Compiles]
World contains a red tile. [Breaks]
Additional Information"You wrote 'World contains a red tile' : but this description of a relationship makes no sense to me, and should be something like 'X is in Y' (or 'on' or 'part of Y'); or else 'X is here' or 'X is east of Y'."
TagsNo tags attached.
Effect(serious) Compiler rejects valid code
Attached Files

- Relationships

-  Notes
zarf (developer)
2013-05-28 21:43

There are a couple of different variables here... I tried all of the following cases. The intent is that "red tile" should create a red tile instance, "tile" should create a tile instance of the default color, and "nontile" should create a thing instance called "nontile".

There is a red tile in the World.
There is a tile in the World.
There is a nontile in the World.

In World is a red tile.
In World is a tile.
In World is a nontile.

The World contains a red tile. [fails, as described above]
The World contains a tile.
The World contains a nontile.

Only the one case fails; the other eight compile as expected. So it seems to me that that case should succeed.

I'm not sure what case that problem message is intended to handle, though.
zarf (developer)
2013-05-28 21:47

...looks like it is intended to deal with:

A red tile is in the World. [does not compile]
A tile is in the World. [does not compile]

The problem message is "You wrote 'A red tile is in the World': but something described only by its kind should not be given a specific place or role in the world, to avoid ambiguity. ... though more specific ones like 'a car called Genevieve is in the garage' are fine, as is the reverse, 'In the garage is a car.'"

(As adumbrated in the original bug description, above.)
graham (administrator)
2014-01-12 10:31

Took a while to track down, but it was only a forgotten case in the assertion reader; Inform correctly parsed the sentence "World contains a red tile", but failed to instantiate "tile".

- Issue History
Date Modified Username Field Change
2013-05-28 17:51 alex New Issue
2013-05-28 21:43 zarf Note Added: 0002064
2013-05-28 21:47 zarf Note Added: 0002065
2013-05-29 08:06 EmacsUser Effect (cosmetic) Error message is badly worded => (serious) Compiler rejects valid code
2013-05-29 08:06 EmacsUser Severity cosmetic => serious
2013-05-29 08:06 EmacsUser Status new => confirmed
2013-05-29 08:06 EmacsUser Description Updated View Revisions
2014-01-12 10:31 graham Note Added: 0002275
2014-01-12 10:31 graham Status confirmed => resolved
2014-01-12 10:31 graham Resolution open => fixed
2014-01-12 10:31 graham Assigned To => graham
2014-05-07 07:34 jmcgrew Fixed in Version => 6L02
2014-05-07 07:34 jmcgrew Status resolved => closed

Copyright © 2000 - 2010 MantisBT Group
Powered by Mantis Bugtracker