Pular para o conteúdo

Glossário: por que esta palavra

O vocabulário inteiro, com a palavra que cada uma substitui — e o motivo de sete terem sido removidas.

A objeção mais comum à linguagem é o vocabulário: por que `given` e não `if`? A resposta honesta é que a escolha foi deliberada e tem custo — e que o projeto já removeu sete palavras reservadas por serem caras sem entregar nada.

O mapa#

Onde você diriaAquiNota
=:== sozinho não existe — given x = 5 é erro de sintaxe, não um bug calado
conststeady
printoutaceita vários, separados por vírgula
if/elif/elsegiven/orif/otherwiseo nome atribuído num ramo existe depois do bloco
ternárioa given cond otherwise ba mesma ordem do if
switchmatch / point / when / defaultwhen é a guarda
for x in xscycle x in xso corpo tem escopo próprio, de propósito
for i in range(1,6)cycle i from 1 to 5inclusivo nos dois extremos
whilepersist
do..whileperform … persist
break / continuehalt / skipatravessam monitor
def / returnaction / yieldyield encerra a ação
geradorstream action / emitseparados de propósito
class / newblueprint / spawn
self / superself / root
interfacetrait
@dataclass(frozen=True)recordimutável, igualdade estrutural
import / exportadopt / relayrelay é real, não convenção
try/catch/finallymonitor/handle/ensure
throwtriggerlevanta TriggerError, não RuntimeError
true/false/nullyes/no/void
// (divisão inteira)~/aqui // é comentário
filter/map/reduce>> sift/morph/distillsintaxe, não função

As que mais pegam quem escreve em português#

Estas são palavras reservadas, e por isso não podem ser nomes de variável: no, in, is, to, from, as, step, point, default, frame, stream, emit, forge, record, enum, when. Já range, cluster e vault são funções, e continuam livres.

Por que sete foram removidas#

Toda palavra em KEYWORDS deixa de poder ser identificador. Antes de acrescentar uma, o projeto confere se o parser realmente a consome:

bash
$ grep -c "TokenType.NOVA\b" dataforge/parser.py   # precisa ser > 0

Se for zero, ela só quebra código de usuário sem entregar nada. Foi o caso de sete — e o mesmo raciocínio recusou covariant e contravariant, que seriam palavras que não decidem nada: a conferência de variância já está certa sem declaração, e há teste registrando essa decisão.