Mois 1 à 3 : Analyse des besoins et conception du langage
Étudier le système actuel de notations de Rocq et ses principaux cas d’usage.
Analyser les systèmes de macros de Racket, Rhombus et le concept de shrubbery notation.
Identifier une série de sous-ensembles du langage Rocq permettant un développement incrémental du prototype.
Concevoir une notation shrubbery adaptée à la syntaxe de Rocq et aux langages de preuves.
Mois 4 à 6 : Développement du frontal et des représentations intermédiaires
Implémenter un lecteur transformant le texte source Rocq en représentation shrubbery.
Développer les structures de données internes permettant de représenter cette notation tout en conservant les informations de localisation et de contexte.
Mettre en place une infrastructure de tests et de validation.
Mois 7 à 9 : Infrastructure de macros
Concevoir et implémenter un système générique de motifs et de gabarits adapté à la structure shrubbery.
Développer le cœur du système de macros.
Implémenter les algorithmes d’expansion et d’enforestation ainsi que la gestion d’espaces de liaison (binding spaces) personnalisables garantissant l’hygiène des macros.
Mois 10 à 12 : Fonctionnalités avancées et évaluation
Explorer l’intégration d’informations de typage statiques dans le processus d’expansion.
Développer des études de cas reproduisant et étendant les usages actuels du système de notations de Rocq.
Évaluer l’expressivité, la robustesse et l’utilisabilité de l’approche proposée.