curiousdannii-testing / inform7-imported-bugs

0 stars 0 forks source link

[I7-1862] [Mantis 1898] Object condition does not match as kind of value #222

Closed curiousdannii-testing closed 2 years ago

curiousdannii-testing commented 2 years ago

Reported by : ndl

Description :

An object condition created as below (example from §4.10) is listed in the kind index as a kind of value matching "value", "enumerated value", and "sayable value". However, as the lexicon reveals this condition is actually a description of objects not a kind of value in it's own right and it does not match its own value type nor any of the ones listed above. It is also not clear in the documentation that this is a description not a kind of value.

Steps to reproduce :

Colour is a kind of value. The colours are red, green and white. 
A colour can be bright, neutral or flat. Green is neutral.

To describe a (c - colour condition) colour: say c.

When play begins, describe a bright colour.

Additional information :

It would be nice if these conditions would be compiled into a kind of value and this code would work.

imported from: [Mantis 1898] Object condition does not match as kind of value
  • status: Closed
  • resolution: Resolved
  • resolved: 2022-04-14T12:36:10+10:00
  • imported: 2022/01/10
curiousdannii-testing commented 2 years ago

557058:4c095ffd-6d6f-47ce-9e73-77c613347b86:

Comment by zarf :
In this code, "colour condition" is both a property and a kind of value. The problem is that the term "bright" is always interpreted as a condition (an adjective on color values), rather than an instance of the "colour condition" kind-of-value.

The phrase you've defined actually works if you have a variable of the appropriate type:


When play begins:
let B be the colour condition of red;
describe a B colour;
say "B is [B].";

(That last line demonstrates that you don't need the describe phrase, you can say the value directly.)

The problem is solely with using "bright" on its own. If you want to do that, define it as a distinct KOV:


Colour is a kind of value. The colours are red, green and white.
A tonality is a kind of value. The tonalities are bright, neutral and flat.
A colour has a tonality called the tone. The tone of green is neutral.

To describe a (c - tonality) colour: say c.

curiousdannii-testing commented 2 years ago

557058:4c095ffd-6d6f-47ce-9e73-77c613347b86:

Comment by ndl :
It would make sense that the compiler should be able to interpret it as a value of its kind when that's what the phrase is expecting. But there is another issue as well: a description should be able to match "value" as well being that it is an instance of the kind of value "description of kind K" (but that is really a seperate issue).

curiousdannii-testing commented 2 years ago

61eedb62875fc10070240916:

Closed as not really a bug.