
David Abrahams wrote:
Brian Allison
writes: When a program causes undefined behavior, that falls into the category I'm calling "illegal program." I don't just mean those programs that can be diagnosed as illegal by the compiler.
I misunderstood you - I thought you meant "illegal program" in the sense of any program which run afoul of the standard.
I also consider invoking undefined behavior to be "running afoul of the standard." :)
I realized that with your definition of "illegal program". That would seem to imply that you don't in fact only consider state as an indication of whether or not a program is illegal. On the one hand, it sometimes appears that something which goes outside of the algebra of invariants (forgive me for my imprecision) is your 'illegal program', then you throw in behaviorisms - which have nothing to do with invariants (if I did read you correctly ... <shrug>). Yet you don't allow for the behaviorisms that are specified by the standard in your definition of 'illegal program'. Hm. Perhaps my curiosity->desire to grok Your Standard is no longer on-topic with Library Interface Design, and may even be off-topic for the mailing list. :/