Executando verificação de segurança...
1

Achei confuso o uso do let, se é para ter em TODA atribuição então OK, se é apenas uma definição me parece errado. Se é uma definição, para que uma palavra array para definir um array? Bastaria um
let var[5], acho que melhor seria um
def var1 : int = 0
def var2 : string = "texto"
def var3[4] : int
let var1 = var1 + 1
let var3[1] = 56
Mas, minha principal crítica vai para o begin...end. No if ficou esquisito, como assim um else no meio da estrutura!?!? Para manter a consistência, deveria ter um bloco no, que seria o then, e outro, no bloco do else. Considerando que essas estruturas parecem ter os parênteses obrigatórios, concluo que vc não precisa do begin, bastaria um end no final do bloco, sugiro um end e o nome da estrutura, para mostrar coerência:
if ( a > b and
x > y )
let ...
elseif ( x < 100 )
let ...
else
let ...
end if

while ( i < 10 )
let ...

if de uma linha

if( j < 100 ) break while
let ...
if( j + i > 90 ) continue while
...
end while

Quanto ao write() me parece clara a falta de vírgulas para demais parâmetros, assim não é necessário concatenar antes de imprimir.
write("x = ", x, " y = ", y )

Carregando publicação patrocinada...
1

faz sentido o que você falou, principalmente na parte de consistência.

sobre o let, a ideia foi justamente manter algo mais próximo do JavaScript, onde você sempre usa na atribuição, não só na definição. Eu acabei não separando “declaração” e “uso” como em linguagens mais tipadas, foi mais uma escolha de simplificação mesmo.

s parte de array separado também foi meio nessa linha de deixar explícito na leitura, mas curti essa ideia de unificar com let var[5], fica mais limpo mesmo.

sobre o begin...end, eu puxei mais inspiração do Pascal, principalmente pensando em deixar os blocos bem visíveis pra quem tá começando. Mas concordo que no if/else pode ficar estranho do jeito que está, essa ideia de end if / end while é bem interessante e deixa mais consistente.
e o write, realmente, suporte a múltiplos parâmetros com vírgula é uma melhoria que já faz bastante sentido.

no geral, eu fui mais na linha de fazer funcionar e depois ir ajustando a sintaxe com base nesses feedbacks. Vou testar algumas dessas mudanças pra ver como fica na prática.
valeu pelas sugestões.