10 pontos por GN⁺ 2026-03-16 | 11 comentários | Compartilhar no WhatsApp
  • Uma linguagem compilada de tipagem estática escrita com palavras-chave em coreano, que gera binários nativos por meio de LLVM IR
  • Fornece tanto compilador quanto interpretador implementados em Rust, com suporte a build, execução, REPL e LSP via CLI hgl
  • Todas as palavras-chave são em coreano, como 함수, 만약, 반복, 변수, e nomes de variáveis e funções também podem ser definidos em coreano
  • Inclui recursos práticos integrados como entrada/saída de arquivos, JSON, HTTP, expressões regulares, data/hora e chamadas de sistema, além de 18 exemplos
  • Implementa a estrutura científica do Hangul e sua difusão cultural em uma linguagem de programação, chamando atenção como uma nova tentativa de combinar aprendizado de coreano com programação

Visão geral da linguagem Han

  • Han é uma linguagem compilada de tipagem estática escrita com palavras-chave em coreano, que gera binários nativos por meio de LLVM IR
    • Inclui um toolchain de compilador e um interpretador tree-walking escritos em Rust
    • Com o comando hgl, é possível executar o interpretador, fazer build, usar REPL e iniciar um servidor LSP
  • Todas as palavras-chave são compostas em Hangul, por exemplo: 함수, 만약, 반복, 변수, 출력 etc.
  • Busca implementar o sistema científico de escrita do Hangul em uma linguagem de programação, com o objetivo de unir beleza linguística e precisão técnica

Principais recursos

  • Suporte a palavras-chave e identificadores em Hangul: nomes de variáveis, funções e structs podem ser escritos em coreano
  • Sistema de tipos estático: oferece 5 tipos básicos — 정수, 실수, 문자열, , 없음
  • Modos compilado e interpretado: LLVM IR → clang → geração de binário, ou execução imediata
  • REPL e servidor LSP: os comandos hgl repl e hgl lsp oferecem execução interativa e autocompletar de código
  • Recursos integrados
    • Arrays, structs, closures, pattern matching, tratamento de exceções e genéricos
    • I/O de arquivos, JSON, HTTP, expressões regulares, data/hora e chamadas de sistema
    • Strings formatadas, hashmap e funções matemáticas integradas
  • Inclui 18 programas de exemplo: Hello World, chamadas a HTTP API etc.

Instalação e execução

  • Pré-requisitos: Rust (1.70+), clang
  • Procedimento de instalação
  • Há uma extensão para VS Code: suporte a syntax highlighting e LSP
  • Comandos CLI
    • hgl interpret <file.hgl> — executa o interpretador
    • hgl build <file.hgl> — compila um binário nativo
    • hgl run <file.hgl> — compila e executa imediatamente
    • hgl repl — modo interativo
    • hgl lsp — executa o servidor LSP

Estado atual da implementação

  • Recursos totalmente funcionais
    • Tipos de dados, fluxo de controle, funções, strings, arrays, hashmap, structs, tratamento de erros e verificação de tipos
    • JSON, HTTP, expressões regulares, data/hora, sistema, I/O de arquivos, funções matemáticas, módulos e genéricos
  • Recursos parcialmente implementados
    • Em hgl build, a geração de código para closures, strings e métodos de array ainda não está concluída
  • Recursos não implementados
    • Segurança contra null (sem tipo Option), processamento assíncrono/paralelo, garbage collection e otimização de tail recursion

Hangul e programação

  • O Hangul é um sistema de escrita científico que expressa visualmente a estrutura fonológica, criado pelo rei Sejong em 1443
  • Han reflete essa clareza estrutural do Hangul na sintaxe da linguagem
  • Mais de 16 milhões de pessoas no mundo estão aprendendo coreano, e Han oferece um meio de aprender Hangul por meio da programação
  • Exemplos de palavras-chave
    • 함수(function), 만약(if), 반복(for), 반환(return), 변수(variable), 출력(print) etc.

Design e estrutura

  • Pipeline de compilação baseado em Rust
    • Lexer → Parser → AST → Interpreter / CodeGen → LLVM IR → clang → Binary
  • Estrutura do projeto
    • src/ — código central do compilador e do interpretador
    • editors/vscode/ — extensão para VS Code
    • Inclui examples/, spec/, tests/
  • Motivos das escolhas de design
    • Em vez da LLVM C API, usa geração de IR baseada em texto para simplificar o build
    • O interpretador prioriza rapidez de execução, e o compilador prioriza desempenho
    • O pattern matching e a segurança de memória de Rust são adequados para implementar a linguagem

Testes e licença

  • Executa 46 testes com cargo test (41 unitários, 5 de integração)
  • Disponibilizada sob a licença MIT

Significado cultural

  • Han é uma linguagem experimental que combina a beleza do Hangul com a precisão da programação
  • Propõe uma nova abordagem que rompe as fronteiras entre idioma e código tanto para estudantes de coreano quanto para desenvolvedores

11 comentários

 
runableapp 2026-03-17

Graças a isso, consegui obter informações úteis. O GeekNews, que seleciona as notícias mais essenciais, é uma alegria de visitar todos os dias. Eu também, na posição de alguém que atualmente está desenvolvendo uma linguagem de programação em coreano, vejo com muito bons olhos a continuidade dessas tentativas.

Tendo vivido muitos anos no exterior e acompanhado as mudanças da Coreia, sempre achei lamentável o fenômeno da penetração excessiva do inglês no cotidiano e em toda a indústria. O “dialeto de Pangyo”, nomes de apartamentos difíceis de entender, menus deformados como MSGR e letreiros repletos de inglês parecem enfraquecer a capacidade de sobrevivência da nossa língua. Mesmo que a educação precoce tenha reduzido a barreira do inglês, a intuitividade proporcionada pela língua materna é insubstituível. Assim como uma placa em coreano salta imediatamente aos olhos no exterior, nosso cérebro consome menos energia ao processar a língua materna.

print("Hello, world!");

saída "Olá!"

Qual dos dois entra mais naturalmente nos seus olhos?

A IA está derrubando as barreiras linguísticas, mas a pesquisa sobre linguagens de programação em coreano é um trabalho de remover camadas desnecessárias de “tradução” do nosso sistema de pensamento para maximizar a eficiência do cérebro. É natural que saída pareça mais intuitivo do que print. Embora seja difícil que isso se torne mainstream de imediato por causa da lógica da universalidade e do mercado de trabalho, espero que no futuro surjam linguagens em coreano mais maduras e diversas, enriquecendo o ecossistema.

 
mhcoma 2026-03-16

Em hangul... não consigo parar de 밯망히질.

 
coremaker 2026-03-16

Isso me lembra o projeto Ssiat.

 
crawler 2026-03-17

Parece ser alguém que trabalhou por muito tempo com contabilidade, não com desenvolvimento, e ainda assim criou um compilador e conseguiu mais de 100 estrelas no GitHub..
Realmente chegamos à era da IA

 
savvykang 2026-03-17

Pensando em programar com assíncrono-espera em vez de async-await, até que fica mais confortável.

 
github88 2026-03-16

Linguagens de programação precisam ser versáteis...

 
m00nlygreat 2026-03-16

É engraçado como a reação no Hacker News está sendo favorável kkk

 
nottiger 2026-03-16

Uau, que incrível

 
bichi 2026-03-16

Olá, manhã forte e poderosa!

 
sea715 2026-03-16

Uau

 
xguru 2026-03-16

Uau, também é legal ver algo assim no Hacker News. Obrigado, Rei Sejong.