MantisBT - Core Inform
View Issue Details
0000867Core InformPhrases and functional programmingpublic2012-02-16 07:592014-05-07 07:34
ChrisC 
graham 
normalcosmeticalways
closedfixed 
x64Windows7 SP1
6G60 
6L02 
(cosmetic) Error message is badly worded
0000867: Error message about a definition referencing a past-tense condition is misleading
The problem report claims that a past-tense condition referring to a temporary value is the problem. Thing is, there are no temporary values mentioned here.
There is room. Egg is here.

Definition: Egg is contaminated if it was held.
This is the report produced by Inform 7 (build 6G60) on its most recent run through:


Problem. You wrote 'Definition' : but conditions written in the past tense cannot refer to temporary values, because they have no past. For instance, the name given in a 'repeat...' can't be talked about as having existed before.
No tags attached.
Issue History
2012-02-16 07:59ChrisCNew Issue
2012-02-16 09:10EmacsUserNote Added: 0001585
2012-02-16 09:10EmacsUserStatusnew => confirmed
2012-02-16 09:10EmacsUserCategoryActions => Phrases and functional programming
2014-01-22 14:30grahamStatusconfirmed => resolved
2014-01-22 14:30grahamResolutionopen => fixed
2014-01-22 14:30grahamAssigned To => graham
2014-05-07 07:34jmcgrewFixed in Version => 6L02
2014-05-07 07:34jmcgrewStatusresolved => closed

Notes
(0001585)
EmacsUser   
2012-02-16 09:10   
In fact there is a temporary named value, ``it.'' Because Inform needs to be able to apply the definition of contaminated to other things, the attached source text is read as

- - - -
Definition: a thing is contaminated if it is the egg and it was held.
- - - -

But that's not necessarily obvious from the problem message.