Émulation de closures en Tcl : une astuce intelligente

2025-05-03

Cet article explore la mise en œuvre d'un comportement similaire aux closures en Tcl, un langage ne disposant pas de support natif pour les closures. L'auteur utilise les espaces de noms et le système d'objets TclOO pour créer une classe qui imite les closures. Cette classe capture les variables externes et maintient leur validité en dehors de leur portée d'origine, obtenant ainsi une fonctionnalité similaire à celle des closures. Bien qu'elle diffère légèrement des closures en C++, cette approche offre une solution pratique pour ceux qui ont besoin de closures en Tcl.

Lire plus
Développement

Un remplacement de jq en Common Lisp : cljq

2025-05-02

Fatigué du DSL complexe de jq ? Découvrez cljq, un remplacement de jq écrit en Common Lisp. cljq utilise un opérateur de requête plus intuitif, `?`, offrant des fonctionnalités similaires à JSONPath pour simplifier la manipulation de JSON. Actuellement en phase initiale, cljq fournit déjà des fonctionnalités de base avec des plans pour de futures ajouts de fonctionnalités.

Lire plus

Paramètres mots clés dans les procédures Tcl : une solution élégante et un casse-tête de métaprogrammation

2025-04-21

Frustré par l'absence de paramètres mots clés et l'inaccessibilité des fonctionnalités intégrées dans certains langages de programmation, l'auteur a relevé le défi d'implémenter des paramètres mots clés dans Tcl. L'article présente une commande `proc*` astucieuse permettant des arguments mots clés dans les procédures Tcl et détaille son implémentation. Cependant, en raison des capacités de métaprogrammation limitées de Tcl, l'auteur a eu recours à des expressions régulières pour la création de modèles de chaînes, ce qui a donné lieu à un code complexe et difficile à maintenir, soulignant les limites de Tcl en métaprogrammation.

Lire plus
Développement paramètres mots clés