|Anonymous | Login | Signup for a new account||2018-03-18 08:26 PDT|
|Main | My View | View Issues | Change Log | Roadmap|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001116||Core Inform||Assertions and creations||public||2013-05-28 17:51||2014-05-07 07:34|
|Platform||OS||OSX 10.6.8||OS Version|
|Target Version||Fixed in Version||6L02|
|Summary||0001116: Unnamed creations with properties require specific, under-documented wording.|
|Description||Does (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'."|
|Tags||No tags attached.|
|Effect||(serious) Compiler rejects valid code|
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.
...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.)
|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".|
|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|