10 puntos por GN⁺ 2026-03-16 | 12 comentarios | Compartir por WhatsApp
  • Un lenguaje compilado de tipado estático escrito con palabras clave en coreano, que genera binarios nativos a través de LLVM IR
  • Ofrece tanto compilador como intérprete implementados en Rust, y el CLI hgl soporta compilación, ejecución, REPL y funciones de LSP
  • Todas las palabras clave están en coreano, como 함수, 만약, 반복, 변수, y también es posible definir nombres de variables y funciones en coreano
  • Incluye funciones prácticas integradas como entrada/salida de archivos, JSON, HTTP, expresiones regulares, fecha/hora y llamadas al sistema, además de 18 ejemplos
  • Implementa en un lenguaje de programación la estructura científica del alfabeto coreano y su expansión cultural, llamando la atención como un nuevo intento que combina aprendizaje de coreano y programación

Resumen del lenguaje Han

  • Han es un lenguaje compilado de tipado estático escrito con palabras clave en coreano que genera binarios nativos a través de LLVM IR
    • Incluye una toolchain de compilador y un intérprete de recorrido de árbol escritos en Rust
    • Con el comando hgl se puede ejecutar el intérprete, compilar, usar el REPL e iniciar el servidor LSP
  • Todas las palabras clave están compuestas en hangul, por ejemplo: 함수, 만약, 반복, 변수, 출력
  • Busca implementar en un lenguaje de programación el sistema científico de escritura del hangul, con el objetivo de combinar belleza lingüística y precisión técnica

Funciones principales

  • Soporte para palabras clave e identificadores en coreano: nombres de variables, funciones y structs pueden escribirse en coreano
  • Sistema de tipos estático: ofrece 5 tipos básicos, 정수, 실수, 문자열, , 없음
  • Modo compilado e intérprete: LLVM IR → clang → generación de binario o ejecución inmediata
  • REPL y servidor LSP: soporte para ejecución interactiva y autocompletado con los comandos hgl repl, hgl lsp
  • Funciones integradas
    • Arreglos, structs, closures, pattern matching, manejo de excepciones, genéricos
    • I/O de archivos, JSON, HTTP, expresiones regulares, fecha/hora, llamadas al sistema
    • Cadenas con formato, hash maps, funciones matemáticas integradas
  • Incluye 18 programas de ejemplo: Hello World, llamadas a APIs HTTP, etc.

Instalación y ejecución

  • Requisitos: Rust (1.70+), clang
  • Proceso de instalación
  • Ofrece una extensión para VS Code: resaltado de sintaxis y soporte LSP
  • Comandos CLI
    • hgl interpret <file.hgl> — ejecutar el intérprete
    • hgl build <file.hgl> — compilar a binario nativo
    • hgl run <file.hgl> — compilar y ejecutar de inmediato
    • hgl repl — modo interactivo
    • hgl lsp — ejecutar el servidor LSP

Estado actual de la implementación

  • Funciones completamente operativas
    • Tipos de datos, flujo de control, funciones, cadenas, arreglos, hash maps, structs, manejo de errores, verificación de tipos
    • JSON, HTTP, expresiones regulares, fecha/hora, sistema, I/O de archivos, funciones matemáticas, módulos, genéricos
  • Funciones implementadas parcialmente
    • Al usar hgl build, la generación de código para closures, cadenas y métodos de arreglos aún no está terminada
  • Funciones no implementadas
    • Seguridad nula (sin tipo Option), procesamiento asíncrono/paralelo, recolección de basura, optimización de recursión de cola

Hangul y programación

  • El hangul es un sistema de escritura científico que representa visualmente la estructura fonológica, creado por el rey Sejong en 1443
  • Han refleja esa claridad estructural del hangul en la sintaxis del código
  • Más de 16 millones de personas en todo el mundo están aprendiendo coreano, y Han ofrece un medio para aprender hangul a través de la programación
  • Ejemplos de palabras clave
    • 함수(function), 만약(if), 반복(for), 반환(return), 변수(variable), 출력(print), etc.

Diseño y estructura

  • Pipeline de compilador basado en Rust
    • Lexer → Parser → AST → Interpreter / CodeGen → LLVM IR → clang → Binary
  • Estructura del proyecto
    • src/ — código central del compilador e intérprete
    • editors/vscode/ — extensión de VS Code
    • Incluye examples/, spec/, tests/
  • Razones de las decisiones de diseño
    • Se simplificó la compilación mediante generación de IR basada en texto en lugar de la API C de LLVM
    • El intérprete se enfoca en ejecución rápida y el compilador en rendimiento
    • El pattern matching y la seguridad de memoria de Rust son adecuados para implementar el lenguaje

Pruebas y licencia

  • Se ejecutan 46 pruebas con cargo test (41 unitarias, 5 de integración)
  • Publicado bajo licencia MIT

Significado cultural

  • Han es un lenguaje experimental que combina la belleza del hangul y la precisión de la programación
  • Propone un nuevo enfoque que rompe la frontera entre lenguaje y código tanto para estudiantes de coreano como para desarrolladores

12 comentarios

 
runableapp 2026-03-17

Gracias, me llevé información muy útil. GeekNews, que selecciona las noticias clave, es una alegría para visitar todos los días. Yo también, desde la posición de alguien que actualmente está desarrollando un lenguaje de programación en coreano, veo muy positivamente que este tipo de intentos continúen.

Tras vivir muchos años en el extranjero y observar los cambios en Corea, siempre me dio pena ver cómo el inglés se ha metido en exceso en la vida cotidiana y en toda la industria. El llamado "dialecto de Pangyo", los nombres de apartamentos difíciles de entender, menús deformes como MSGR y los letreros llenos de inglés parecen dañar la capacidad de nuestra lengua para sostenerse por sí misma. Aunque la educación temprana haya bajado la barrera del inglés, la intuición que brinda la lengua materna es irremplazable. Así como en el extranjero un letrero en coreano resalta de inmediato ante los ojos, nuestro cerebro consume la menor cantidad de energía cuando procesa su lengua materna.

print("Hello, world!");

imprime "¡Hola!"

¿Cuál de los dos entra mejor de un vistazo?

Aunque la IA está derribando las barreras del idioma, la investigación sobre lenguajes de programación en coreano consiste en eliminar esa "capa de traducción" innecesaria dentro de nuestro sistema de pensamiento para maximizar la eficiencia cerebral. Es natural que imprime resulte más intuitivo que print. Puede que, por razones de universalidad o de mercado laboral, sea difícil que se vuelva dominante de inmediato, pero espero que en el futuro aparezcan lenguajes coreanos más pulidos y diversos que enriquezcan el ecosistema.

 
mhcoma 2026-03-16

¿En coreano, eh...? No puedo dejar de detener la insolencia.

 
coremaker 2026-03-16

Me recuerda al proyecto Ssiat.

 
crawler 2026-03-17

Parece más bien alguien que trabajó mucho tiempo en contabilidad, no en desarrollo, pero aun así hizo un compilador y consiguió más de 100 estrellas en GitHub..
De verdad ya llegó la era de la IA

 
savvykang 2026-03-17

Pensar en programar con 비동기-대기 en lugar de async-await sí se siente más cómodo.

 
github88 2026-03-16

Lo importante en un lenguaje de programación es que sea de propósito general...

 
m00nlygreat 2026-03-16

Da risa que la reacción en Hacker News sea favorable jajaja

 
nottiger 2026-03-16

Wow, qué genial.

 
bichi 2026-03-16

¡Hola, mañana poderosa y fuerte!

 
sea715 2026-03-16

Guau

 
xguru 2026-03-16

Vaya, también da gusto ver algo así en Hacker News. Gracias, rey Sejong.

 
GN⁺ 2026-03-16
Comentarios en Hacker News
  • Si te interesan los lenguajes de programación en coreano, recomiendo el lenguaje funcional "Nuri"
    Enlace a Nuri en GitHub
    No se limita a traducir palabras clave, sino que puede reflejar la estructura gramatical coreana real en el código
    Por ejemplo, si escribes "dividir 10 entre 5 e imprimir", el resultado que se muestra es "2"
    También existe otro lenguaje llamado "Yaksok". El código de ejemplo completo del juego 2048 está escrito enteramente en coreano

    • Gracias por el comentario. Creo que tanto "Nuri" como "Yaksok" son lenguajes razonables y bien diseñados, pero por ahora estoy concentrado en que los usuarios de inglés puedan acceder a una versión traducida a Rust. Siento que eso podría crear una base de usuarios más grande
    • Casi no conozco palabras en coreano, pero me da curiosidad si "Yaksok" tendrá la misma etimología que la palabra japonesa 約束(やくそく)
  • Me parece una idea realmente genial. El hangul es un sistema de escritura diseñado de forma lógica, así que se puede aprender en una tarde
    Respuesta de StackExchange para aprender hangul

    • Estas mnemotecnias son realmente útiles. Planeo agregarlas también a la guía de aprendizaje de coreano que estoy usando (tolearnkorean.com)
      El hangul tiene una cantidad de letras parecida al alfabeto inglés, así que se aprende rápido, pero memorizar vocabulario es un poco más difícil. Por eso estoy usando Anki junto con la app de aprendizaje gamificada que hice
    • Es un conocimiento profundo que ni siquiera muchos coreanos conocen bien. Voy a agregar este sitio como material de referencia en GitHub. Me alegra contar con apoyo así
    • Ya agregué ese enlace de inmediato a la sección "Beauty of Hangul" del README
  • Como hablante nativo de coreano, quería compartir una opinión breve
    Los sustantivos se traducen de manera natural, pero los verbos imperativos del inglés requieren cuidado al pasarlos al coreano. Por ejemplo, "find" puede convertirse en "chatda", "chatgi" o "chajeum", pero según el contexto puede sonar poco natural
    También está el problema del plural. El inglés distingue claramente entre singular y plural, pero el coreano no. Si se marca el plural de forma explícita, como en "palabras", muchas veces hasta puede sonar poco natural
    Si se toman en cuenta las diferencias estructurales entre el inglés y el coreano, en vez de hacer un simple reemplazo de palabras clave, creo que el proyecto podría volverse mucho más potente

  • Cuando estudiaba ingeniería en la universidad, sentía que el hecho de que los lenguajes de programación estuvieran basados en inglés era una gran ventaja para quienes hablaban inglés
    Mis amigos estudiantes internacionales, como no estaban familiarizados con el inglés, tenían más dificultades para aprender. Por eso el chiste de que programar debería contar como crédito de idioma extranjero me parecía bastante gracioso

    • Yo lo veo al revés. Incluso cuando no sabía bien inglés, aprendí programación por mi cuenta. Al final, las palabras clave del lenguaje son pocas, y no saber que "int" es abreviatura de integer no era ningún problema
      Lo realmente difícil es aprender programación en sí. Eso sí, que los temas avanzados o la documentación estén solo en inglés sí es una gran barrera para quienes aprenden ESL
    • En India también el inglés fue una gran razón del crecimiento de la industria de TI. Amigos que se educaron en lenguas regionales tuvieron que hacer el doble de esfuerzo en la universidad para seguir libros de texto en inglés. Da pena que la barrera del idioma termine desperdiciando talento
    • Mis amigos no angloparlantes también dicen que las palabras clave no representan ni el 1% de la dificultad de programar. Los nombres de variables o clases ya pueden escribirse en Unicode, así que casi no hay necesidad de traducir nada
    • Tiene sentido que el inglés se haya vuelto el estándar global. En muchos proyectos, usar inglés es lo natural
    • El problema real no son las palabras clave, sino que los libros de texto, papers y documentación están todos en inglés. Memorizar unas pocas palabras clave toma media hora
  • No sé coreano, pero gracias a este hilo aprendí muchas ideas lingüísticas
    El diseño fonológico del hangul (enlace),
    las características del plural en coreano (enlace),
    el problema de compresión de tokens entre los tokenizers de LLM y el coreano (enlace),
    y el ritmo del teclado hangul, donde consonantes y vocales están separadas según la posición de las manos (enlace), me parecieron especialmente interesantes

  • Creo que este tipo de intento puede provocar fragmentación lingüística
    Si cada quien hace lenguajes de programación en su propio idioma, colaborar o contratar se volverá más difícil, y compartir tecnología también sería complicado
    Personalmente, creo que si todo el mundo usara un solo idioma habría menos guerras y malentendidos. Claro, habría menos diversidad cultural, pero la eficiencia de la comunicación sería mayor

    • Crear y experimentar nunca es algo tonto. El autor hizo este lenguaje como un intento artístico, y criticarlo desde una perspectiva política o de negocios es una postura que pierde de vista lo esencial
    • Entonces, ¿quieres decir que habría que hacer un nuevo lenguaje de programación en esperanto?
  • Me parece interesante el enfoque de simplemente traducir palabras clave
    Como en el código de ejemplo:

    peonkeu tuseom(araei: 목록[정수], target: 정수) -> 목록[정수]:
    동안 시작 < 끝:
    

    Escrito así, el código podría volverse más conciso. Aunque se perdería la ventaja de distinguir mayúsculas y minúsculas
    He oído que, sin importar la densidad del idioma, la velocidad de procesamiento de la información es parecida

    • A principios de los 2000 hubo un intento de traducir Python al chino
      Entrada de blog relacionada
      Pero no tuvo éxito. La mayoría de los entornos informáticos ya exigen entrada en caracteres latinos, y memorizar unas pocas palabras clave no es difícil
    • Es una buena observación. "Han" usa palabras coreanas reales (como función, si, etc.), pero si se usan transliteraciones como "peonkeu" o "araei" como en el ejemplo, a los usuarios coreanos les puede resultar extraño
    • Scratch está basado en JSON, así que cambiar de idioma es fácil. Pero la razón por la que la mayoría de los programadores mantienen palabras clave en inglés es que la documentación, las librerías y el entorno de colaboración están todos centrados en el inglés
      Incluso en la era de los LLM, la mayor parte de los datos de entrenamiento siguen siendo código en inglés, así que es probable que el código en inglés siga siendo más eficiente
    • En el caso del japonés, cambiar entre modos de entrada es engorroso, así que para programar es ineficiente. Puede que el hangul tenga un problema parecido
    • El ejemplo está divertido
  • Es un gran proyecto. Estudié en una universidad coreana hace como 190 años (!) y ahora solo mantengo un coreano básico, pero al ver el código de ejemplo siento que estoy aprendiendo palabras nuevas

  • Este proyecto realmente me encanta. Al ver las muestras de código y no entender nada, pude empatizar con cómo debieron sentirse los desarrolladores no angloparlantes cuando vieron por primera vez un lenguaje basado en inglés
    Lisp sigue siendo un paraíso de paréntesis de todos modos :-)

    • La verdadera barrera no son las palabras clave, sino que la mayor parte de la documentación y las discusiones están solo en inglés
    • Durante décadas, usar inglés fue algo razonable. Gracias por el comentario
  • Me recuerda a Easy Programming Language de China
    Enlace al wiki de EPL
    Hace unos 15 años, muchos niños en China aprendieron programación por primera vez con este lenguaje