Frankly, I find this whole proposal, and all the suggested alternatives, somewhat ill-conceived. PLPGSQL is a wordy language. If you want something more terse, use something else. Adding these sorts of syntactic sugar warts onto the language doesn't seem like a terribly good way to proceed.
Such as?
The enormous advantage of plpgsql is how easy it is to run SQL. Every other PL I've looked at makes that WAY harder. And that's assuming you're in an environment where you can install another PL.
And honestly, I've never really found plpgsql to be terribly wordy except in a few cases ("assert" being one of them). My general experience has been that when I'm doing an IF (other than assert), I'm doing multiple things in the IF block, so it's really not that big a deal.
I frequently write one-statement bodies of IF statements. To me that's not a big deal either :-)
anybody did it, but it doesn't need so it is perfect :) I understand well to Jim' feeling.
I am looking to Ada 2005 language ... a design of RAISE WITH shows so RAISE statement is extensible in Ada too. Sure - we can live without it, but I don't think so we do some wrong with introduction RAISE WHEN and I am sure, so a live with this feature can be more fun for someone, who intensive use this pattern.
(drags out recently purchased copy of Barnes "Ada 2012")
Ada's
RAISE exception_name WITH "string";
is more or less the equivalent of our
RAISE level 'format_string';
So I don't think there's much analogy there.
I used it as analogy of immutability of this statement in Ada,
I'm not going to die in a ditch over this, but it does seem to me very largely unnecessary.