Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000751Core InformPropertiespublic2011-09-18 16:272014-05-07 07:34
ReporterRon Newcomb 
Assigned Tograham 
PlatformPPCOSMac OS XOS Version10.4
Product Version6G60 
Target VersionFixed in Version6L02 
Summary0000751: "now" assignment generates bad I6 but "let" works when: (property variable) = (property);
DescriptionI have a phrase that decides on a x-valued property, but I can't assign its return variable with "now", either directly or even by going through an intermediate "let" variable. Odd.

Inform 7 raises Problem messages if I try to leave off the "object valued" bit in front of the "property" types, chiding me for being vague.
Minimal Source Text To Reproduce

There is room. 

To decide which object[understood word] valued property is (xnames - an object valued[understood word 
valued] property) considered for  (wd - an object[understood word]) and (obj - an object): (-  (0 - {xnames}({obj}, 
{wd})) -).

The current names list is an object[understood word] valued property that varies. 
The current names list variable translates into I6 as "parser_inflection".

To decide if (current word - an object[understood word]) can refer to (obj - an object) [this is Refers]:
let the names be the current names list;
	let x be the current names list considered for the current word and the obj;
	showme x;
	let names2 be x;
	now names is x;
	let names3 be x;
Additional Information! Request 8: phrase (object, object) -> nothing
! To decide if ( current word - an object ) can refer to ( obj - an object ):
[ PHR_741_r8
    t_0 ! Call parameter 'current word' = object
    t_1 ! Call parameter 'obj' = object
    t_2 ! Local variable e.g. 'names' = objects valued property
    t_3 ! Local variable e.g. 'x' = objects valued property
    t_4 ! Local variable e.g. 'names2' = objects valued property
    t_5 ! Local variable e.g. 'names3' = objects valued property
      ! phrase 1
      ! [1: let the names be the current names list]
       t_2 = parser_inflection;
      ! phrase 2
      ! [2: let x be the current names list considered for the current word and the obj]
       t_3 = (0 - parser_inflection(t_1, t_0)) ;
      ! phrase 3
      ! [3: showme x]
       #IFDEF DEBUG;print "~x~ = objects valued property: ", (PROPERTY_TY_Say) t_3, "^";#ENDIF;
      ! phrase 4
      ! [4: let names2 be x]
       t_4 = t_3;
      ! phrase 5
      ! [5: now names is x]
      ! phrase 6
      ! [6: let names3 be x]
       t_5 = t_3;
TagsNo tags attached.
Effect(critical) Inform 6 compiler reports errors for valid code
Attached Files

- Relationships

-  Notes
EmacsUser (manager)
2011-09-19 14:35
edited on: 2011-10-02 15:00

Confirmed, even without I6 inclusions:

- - - -
There is a room.
Every person has a person called the friend.
When play begins:
    let x be the friend;
    now x is the friend.
- - - -

Ron Newcomb (reporter)
2011-10-05 22:59

Relatedly, I cannot test a property-holding variable to see if it holds a property: ---
There is a room.

When play begins:
    let x be female;
    if x is female, do nothing.
The let correctly generates "t_0 = female;" but the if-condition doesn't generate "if (t_0 == female)". Rather, it says: "...but that seems to involve applying the adjective 'female' to an either/or property - and I have no definition of it which would apply in that situation."
graham (administrator)
2011-10-09 04:33

I've fixed this bug, but I can't pretend that Inform as it stands is intended for second-order logic like this (in which one is, in effect, using predicates as values).

- Issue History
Date Modified Username Field Change
2011-09-18 16:27 Ron Newcomb New Issue
2011-09-19 14:35 EmacsUser Note Added: 0001277
2011-09-19 14:35 EmacsUser Status new => confirmed
2011-10-02 15:00 EmacsUser Note Edited: 0001277 View Revisions
2011-10-05 22:59 Ron Newcomb Note Added: 0001314
2011-10-09 04:33 graham Note Added: 0001342
2011-10-09 04:33 graham Status confirmed => resolved
2011-10-09 04:33 graham Resolution open => fixed
2011-10-09 04:33 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