ziium - uma linguagem de programação para escrever código com a estrutura de frases do coreano
(ziium.github.io)Uma linguagem de programação experimental que usa partículas e predicados do coreano como elementos gramaticais.
Em vez de traduzir palavras-chave de linguagens existentes para hangul,
o objetivo é uma gramática de superfície mais próxima do fluxo de leitura e escrita de falantes de coreano.
Implementada em Rust, com playground no navegador via WebAssembly.
É algo que eu só tinha imaginado desde quando comecei a aprender programação, e com a ajuda do Codex consegui criar assim.
Provavelmente não tem muita utilidade prática... estou experimentando várias ideias de sintaxe.
O ponto principal não era "substituir palavras-chave por hangul", mas preservar o fluxo das frases em coreano,
por exemplo, o código fica assim:
이름은 "철수"이다.
나이는 20이다.
나이 > 19이면
"성인이다"를 출력한다.
아니면
"미성년자이다"를 출력한다.
As partículas têm significado gramatical.
은/는 é binding, 을/를 é o alvo, 의 é acesso a propriedade, e 으로 é um frame de conversão.
Por isso, coisas como 합은 7 더하기 8이다 ou 결과는 5의 제곱이다 também funcionam.
Funções também são definidas e chamadas na forma de frases em coreano:
인사만들기 함수는 이름을 받아
"안녕, " + 이름 + "!"을 돌려준다.
인사문장은 "지음"으로 인사만들기이다.
Também dá para fazer gráficos em canvas:
그림판에 { 배경색: "#f6efe2" }으로 지우기.
그림판에 { x: 120, y: 80, 색: 빨강 }으로 점찍기.
Internamente, ele usa um modelo de envio de mensagens no estilo Smalltalk,
então a superfície é coreana, mas a estrutura semântica é bastante rígida.
Foi feito em Rust, e o playground no navegador também roda com wasm-pack.
Já está em um estado em que até a demo em canvas da Torre de Hanói funciona.
Ainda é v0.1 e ainda faltam muitas coisas, mas agradeço qualquer feedback.
12 comentários
Oh...
Se for
idade > 19, talvez dê para transformar a parte em algo como "se a idade for maior que 19", não? Se interpretarmos a parte antes de이/가e a parte antes de보다respectivamente como o lado esquerdo e o lado direito, parece que funcionaria. Para≥, poderia ser "se for maior ou igual a" ou "se for pelo menos" (embora, nesse caso, não se use보다; ou seja, teria que ser algo como "se a idade for pelo menos 19". Mas então seria preciso distinguir esquerda e direita com base em이/가, então a complexidade da interpretação aumentaria um pouco.)Muito bom!
Há pouco tempo, quando a linguagem chamada
Hantambém apareceu aqui, foi mencionada a apresentação desta linguagem chamada Nuri.https://github.com/suhdonghwi/nuri/
A linguagem Nuri também segue naturalmente uma ordem de palavras parecida com a do coreano.
A linguagem Ziium também usa frases naturais, então é fácil de ler. Indo um pouco além:
se idade > 19
imprime
"É adulto".caso contrário
imprime
"É menor de idade".=> Se a idade for 19 anos ou mais, imprime 'É adulto'; caso contrário, imprime 'É menor de idade'.
Se desse para fazer assim, seria um coreano perfeito.
De todas as linguagens de programação em coreano que vi até agora, esta é a mais interessante do ponto de vista gramatical. Bem legal.
Eu também só imaginava algo assim desde muito tempo atrás, e agora estou vendo isso sendo criado ainda em vida. Torço por vocês! Vou usar bastante.
Oh, estou torcendo!!!!! Eu estava esperando por um projeto assim~
Achei interessante, porque é parecido com a sintaxe de um projeto que eu tinha feito antes!
Se você criar um prompt exatamente com essa sintaxe, isso vai virar uma especificação excelente.
Uau, isso parece divertido demais ???
Nossa, parece interessante! A gramática coreana é usada de forma rígida? Ou há um certo grau de flexibilidade?
Nossa, minha primeira linguagem de programação foi o Changjo...!
Uau, que projeto incrível...