Circle is a new programming language that extends C++ 17 to support data-driven imperative metaprogramming. Circle combines the immediacy and flexibility of a scripting language with the type system, performance and universality of C++. Three new features make this a more effective programming tool than Standard C++:
- An integrated interpreter supports the execution of normal C++ statements at compile time.
- Same-language reflection programmatically allows for the generation of new code without involving an elaborate DOM or API for modelling the AST.
- Introspection keywords inform the program about the content of types, and expose data members and enumerators as iterable entities.
Circle accepts the C++ language as a starting point, and rotates that language from the runtime to the compile-time axis, allowing you to finally metaprogram C++ using C++.
This thread was posted by one of our members via one of our news source trackers.