Dynamik é uma linguagem de programação experimental e minimalista que transpila para JavaScript. Ela foi projetada com uma sintaxe limpa, removendo a necessidade de chaves ({}) para blocos e pontuações excessivas.
A atribuição de variáveis é direta. A inferência decide automaticamente se deve usar let ou const (variáveis com letras maiúsculas, como MAX_VALUE, são tratadas como constantes).
x = 1
Y_MAX = 100
Funções são declaradas com a palavra-chave fun, seguidas pelo nome, parâmetros (com suporte opcional a tipagem estática que é removida na transpilação) e um tipo de retorno opcional (-> tipo). Blocos são encerrados com a palavra end.
fun sum(x:int, y:int) -> int
return x + y
end
Estruturas condicionais usam a palavra-chave then ao final da condição, dispensando o uso de parênteses obrigatórios e fechando com end.
if x == 1 then
console->log("Um")
end
O operador -> é utilizado para acessar métodos ou propriedades de objetos (que é convertido para o operador ponto . do JavaScript).
console->log(sum(x, y))
O transpilador é executado via linha de comando utilizando Node.js, exigindo um arquivo de entrada com a extensão .dyn.
node dynamik.mjs arquivo_entrada.dyn arquivo_saida.js