Macros X : L’arme secrète de génération de code du compilateur Chapel
Le compilateur Chapel utilise intelligemment les macros X pour simplifier considérablement la génération de code. L’article prend pour exemples l’internement de chaînes et la hiérarchie de classes AST, montrant comment les macros X génèrent élégamment de grandes quantités de code répétitif. Cela inclut la déclaration et l’initialisation de plus de 100 variables de chaînes et la génération de code de modèle visiteur pour les nœuds AST. Les macros X y parviennent en définissant des macros dans des fichiers d’en-tête, qui sont ensuite inclus dans le code, augmentant ainsi la maintenabilité et l’évolutivité du code. Même la génération d’une hiérarchie de classes Python est facilement gérée. L’article conclut en discutant des avantages et des inconvénients de cette approche, en notant que, même si les dépendances sont plus fortes, la nature déclarative rend le code plus lisible et plus facile à maintenir.