Plongeon au cœur des macros hygiéniques en Scheme

2025-05-08

Le système de macros de Scheme utilise un mécanisme d'« hygiène » pour éviter les conflits de noms de variables lors du développement des macros. Cet article explore en profondeur le concept d'identificateurs en Scheme, qui englobent non seulement un nom symbolique, mais aussi un contexte lexical et un contexte historique. Les prédicats `bound-identifier=?` et `free-identifier=?` comparent l'équivalence des identificateurs ; le premier se concentre sur l'interchangeabilité des identificateurs liés après le développement de la macro, tandis que le second se concentre sur les identificateurs libres. L'article utilise plusieurs exemples pour illustrer les différences entre ces deux relations d'équivalence et le rôle du contexte historique dans le mécanisme de macro hygiénique. Enfin, il explique comment Scheme utilise les informations historiques des identificateurs pour garantir l'hygiène des macros et éviter les conflits de noms de variables.

Lire plus
Développement Hygiène