Metaprogramming in Cyan
Certain languages allow a metaprogram to act as a compiler plugin and thus alter the compilation process. The metaprogram interacts with low-level details of the compiler, making its construction difficult and potentially leading to errors. Different parts of the metaprogram may have conflicting interactions, thus producing unintended outcomes. This article introduces metaprogramming in the prototype-based object-oriented language Cyan. This language provides the same core functionality as other metaprogramming systems while introducing features that improve interactions between the compiler and different components of the metaprogram. Further-more, Cyan incorporates security measures designed to circumvent typical issues encountered in metaprogramming.
Authors
- José de Oliveira Guimarães (ORCID: https://orcid.org/0000-0003-4128-0419)
Institutions
- Universidade Federal de São Carlos (BR)
Publication Details
- Journal
- JUCS - Journal of Universal Computer Science
- Published
- 2025-11-20
- DOI
- https://doi.org/10.3897/jucs.141599
- Primary Topic
- Logic, programming, and type systems
- Type
- article
- Field-Weighted Citation Impact
- 0.00