Consider:
...
if x > 0 then
y > 0 => 0
...
Should this exit larger block or not? Arguably, this code could
be written in clearer way, but the same applies to 'repeat'
case ('if' is clearer).
Now, I consider it a bug in Spad language that it is not clear
enough what should happen in such cases. And I probably would
prefer spec saying that in cases above single instruction
is in fact a block. But that is larger issue that needs to
be worked out, in particular we should look at conseqences
in various cases. And only having firm language spec we
should hack compiler to conform to the spec. Of course,
if proposed spec is hard to implement, then there is red
sign that maybe it is too complicated. But spec should
go first...
--
Waldek Hebisch