I don't think that the semi colon is a problem and I don't think it is useless either, as argumented by others. But to the opposiste I would even like it to be allowed in a specific case:
if condition then
trueStatement;
else
falseStatement;
You see before the else.
In Pascal, ; is the block or statement separator, what you ask is to introduce whitespace
and line separators in the language that is a quadratic complexity added to the parser.... Very good idea...
Anyway, the whole discussion is rather futile given the fact that Pascal relies on the ; in more than one way as many explained. See Marco's answers for example.
I might add that the only language
that I use that parses such things without effort is Python, not Go, which has its own quirks.
Anyway a teaser:
{$mode delphi}{$H+}
{$macro on}{$Define endblock:=;}
procedure truestatement;begin end endblock
procedure falsestatement;begin end endblock
var
condition:boolean = true;
begin
if condition then
trueStatement // endblock
else
falseStatement endblock
end.