On Saturday, 24 June 2017 at 02:31:09 UTC, Solomon E wrote:
I think my proposal to add another use of semicolon in parentheses, like `foreach` or `for` but not the same as either, was needlessly complicated.

It's very popular, actually. :)

in (a)
out (result) (a)

This resembles template function declarations. Both proposals resemble something else that they are not. Your proposal for `out` is attractive, actually, because the semantics of foreach are closer to what we're looking for than are the semantics of template declarations.

as syntax sugar where each (a) lowers to
{assert(a);}
and in future can lower to something else, to renovate contract implementation

The foreach syntax can be just as easily lowered:

out(result; a)

...to:

out(result) {assert(a);}

That also includes the optional message.

out(result; result < 1, "alert!")

...lowers to:

out(result) { assert(result < 1, "alert!"); }

That's so much easier, in every way.

There's no intention of making it complicated!

Reply via email to