Au-delà de Zig et Rust : une approche plus conviviale de la métaprogrammation

2025-05-26

Cet article explore une nouvelle conception de langage de programmation qui combine les points forts du système de types Hindley-Milner de Rust et les capacités de compilation de Zig, tout en évitant les complexités de l'approche « types comme valeurs » de Zig. En introduisant l'opérateur `@` pour l'exécution au moment de la compilation, le type `Abstract` pour les abstractions au moment de la compilation, les types `TypeInfo` et `Field` pour l'introspection des types et les fonctions `Code` et `parse` pour la manipulation du code, cette conception permet d'obtenir de puissantes capacités de métaprogrammation, telles que la génération automatique de code et la mise en œuvre de types utilitaires similaires à TypeScript, tels que `Partial`, tout en maintenant la lisibilité du code et la facilité de raisonnement. Cela représente une nouvelle approche pour obtenir une métaprogrammation puissante tout en préservant la convivialité du système de types, offrant de nouvelles perspectives pour la conception de langages futurs.