Chris Anderson doesn't think he was clear about the 'hack' in XAML and I misunderstood....
Pete Cole said .... That's OK a) the hack works and b) its invisible to the 'user' (they just see the programming formatting correctly as they expect) - hacking implementation of a 'programming' language ain't going to work."
The interesting to note, it is actually the Style object that implements the custom parsing and serialization of markup to support the "as use" syntax. This interface is documented and discoverable (both by tools and developers). In addition any component can implement the interface and customize their parsing.
Hack, maybe. Invisible, no. [via simplegeek]
The problem is I should have said "(they just see the application formatting text correctly as they expect)".
My point was hacks in Word processor code seem to be a fact of life and one 'gets away' with it because the hack is invisible to the end-user.
There may be trouble with XAML in that the hacks are visible to the end user (the developer), this is what, it seemed to me, Marc Clifton was saying (or at least one of the things he was saying).
I'm afraid I am one of those people to whom code needs to be readable; the hacks that are becoming apparent in XAML mean that, to me, it is difficult to read, i.e. to translate it in your mind to what is going on. One should be able to read a piece of code and get a sense of what it is doing, even if you've never seen the language before - this just doesn't seem to be true in XAML - tags are sometimes classes, they are sometimes instructions and unless you know the entire .NET framework off by heart you will never know just by reading a piece of code what it is you are looking at?
What does this do:
<menuitem text="Hello" prompt="This option will cause an explosion" />
It seems that it depends upon whether I, the developer of the implementation of menuitem have implemented custom parsing. But just by reading it, do you, the XAML developer, know?
It may be that my model of what XAML is is just completely wrong and therefore I'm reading XAML samples with the wrong mindset