Dropped: Do-While

The syntax construct

do <body> while <cond>

is no longer supported. Instead, it is recommended to use the equivalent while loop below:

while ({ <body> ; <cond> }) ()

For instance, instead of

do
  i += 1
while (f(i) == 0)

one writes

while ({
  i += 1
  f(i) == 0
}) ()

Under the new syntax rules, this code can be written also without the awkward ({...}) bracketing like this:

while {
  i += 1
  f(i) == 0
} do ()

The idea to use a block as the condition of a while also gives a solution to the "loop-and-a-half" problem. For instance:

while {
  val x: Int = iterator.next
  x >= 0
} do print(".")

Why Drop The Construct?