On 07/05/2012 21:27, Nick Sabalausky wrote: <snip>
I'm usually fairly ambivalent about the idea of statements being expressions, but I would *love* for switch to be usable as an expression.
<snip>
Switch cases are sequences of statements. Allowing them to alternatively be expressions would create ambiguity in the grammar.
If you're designing a language and want switch expressions as well as switch statements, then don't try to make one look like the other. For example, C didn't try to make conditional expressions look like if statements - it created a new syntax for conditional expressions.
That said, it's possible to design a language to have no distinction between expressions and statements. But you can't really conflate the two syntaxes in an existing language.
Of course, D could have been designed as such a language. But it wasn't. It was designed to have the same overall look and feel as C.
Stewart.
