1 puntos por jsunam 4 시간 전 | Aún no hay comentarios. | Compartir por WhatsApp

GWEB es un sistema de programación literaria (Literate Programming) para el lenguaje Go. Fue desarrollado modelando de cerca la estructura de CWEB de Donald Knuth.
Los desarrolladores escriben en paralelo documentación en TeX (explicaciones) y código Go dentro de un único archivo fuente .w. Ese archivo se transforma en dos resultados distintos, uno para la máquina y otro para las personas.

Herramientas y funciones principales

El sistema GWEB funciona principalmente con dos comandos clave.

  • gtangle: excluye las explicaciones del documento y reúne solo las secciones de código Go para generar un archivo .go compilable. Al generarlo, se formatea automáticamente con el estilo de gofmt.
  • gweave: genera un documento bellamente compuesto y fácil de leer para humanos (.tex ➡️ PDF). Las palabras reservadas se muestran en negritas, los identificadores en cursiva, y se crea automáticamente un índice de referencias cruzadas.

Características y ventajas principales

  • Formato intuitivo: ofrece soporte nativo para la directiva //line, por lo que cuando ocurre un error de compilación o un pánico, indica con precisión la línea correspondiente en el archivo fuente .w original, no en el archivo .go.
  • Sistema self-hosting: el propio GWEB también fue desarrollado con el enfoque de programación literaria. Los archivos .w dentro de la carpeta lit/ son el verdadero código fuente original de GWEB.
  • Soporte para editores: también incluye configuración de resaltado de sintaxis (Syntax Highlighting) para usuarios de VS Code, Vim y Emacs.

Con GWEB, es posible registrar y gestionar con elegancia la intención de diseño y los algoritmos de proyectos complejos en Go, como si se estuviera escribiendo un libro.

Aún no hay comentarios.

Aún no hay comentarios.