1 points par jsunam 4 시간 전 | Aucun commentaire pour le moment. | Partager sur WhatsApp

GWEB est un système de programmation lettrée (Literate Programming) pour le langage Go. Il a été développé en s’inspirant étroitement de la structure de CWEB de Donald Knuth.
Les développeurs rédigent à la fois le document TeX (explications) et le code Go dans un unique fichier source .w. Ce fichier est ensuite transformé en deux sorties distinctes, l’une pour la machine et l’autre pour l’humain.

Outils et fonctionnalités clés

Le système GWEB fonctionne principalement autour de deux commandes essentielles.

  • gtangle : rassemble uniquement les sections de code Go, en excluant les explications du document, afin de générer un fichier .go compilable. La sortie est automatiquement formatée selon le style gofmt.
  • gweave : génère un beau document mis en forme, agréable à lire (.tex ➡️ PDF). Les mots-clés apparaissent en gras, les identifiants en italique, et un index de références croisées est généré automatiquement.

Principales caractéristiques et avantages

  • Format intuitif : prend en charge nativement les directives //line, ce qui permet d’indiquer précisément la position de ligne dans le fichier source .w d’origine, et non dans le fichier .go, lorsqu’une erreur de compilation ou une panic survient.
  • Système self-hosting : GWEB lui-même a été développé selon une approche de programmation lettrée. Les fichiers .w du dossier lit/ constituent les véritables sources originales de GWEB.
  • Prise en charge des éditeurs : fournit également des réglages de coloration syntaxique pour les utilisateurs de VS Code, Vim et Emacs.

Avec GWEB, il devient possible de consigner et de gérer avec élégance l’intention de conception et les algorithmes de projets Go complexes, comme si l’on écrivait un livre.

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.