I agree 'but' seems a tad odd, and I like the elegance of your suggestion at first sight. However...
> First, but is just strange. I have a thing and I want to tell you it is > red, so I say 'but'. Huh? banana but red; "foo" but false; According to Larry, run time properties will most often be used to contradict a built-in or compile time property. If he is right about the dominant case being a contradiction, 'but' works better for me than anything else I can think of, including 'now' (explained below). --------- Even if usage to contradict a built-in or compile time property is not the most common form of usage, it is still arguably the case that if one keyword is to cover both cases (contradict or not), then having the keyword "warn" that contradiction may have occured is better than having the keyword indicate to a newbie that there is nothing to worry about, as would be the case with 'has'. Further, even if the "warn" notion is deemed unimportant, 'has' is still far from an ideal fit in many cases: banana has red; "foo" has false; Yet another issue is use of 'is' in a conditional: if ($foo is red) ... This would be nice, and would work nicely if one uses a different keyword for runtime properties, but works best if that other word is more consistent with the notion of 'is' than 'has' is. One plausible middle ground word off the top of my head that is odd in its own special way would be 'now': banana now red; "foo" now false; banana now foo; banana now tainted; I read 'now' as somewhat suggestive of changing something. -- ralph