Symbolic combinators in several languages
-
Updated
May 24, 2024 - C++
Symbolic combinators in several languages
Next-Generation Multi-Paradigm Programming Language with Hyper-Fast Compilation Speeds (In development)
The Lily programming language ⚜
Spoon is a metaprogramming library to analyze and transform Java source code. 🥄 is made with ❤️, 🍻 and ✨. It parses source files to build a well-designed AST with powerful analysis and transformation API.
Run commands easily.
Apache Groovy: A powerful multi-faceted programming language for the JVM platform
Automatic and customizable compile time transformations between similar case classes and sealed traits/enums, essentially a thing that glues your code. Scala 3 only. Or is it duct 🤔
Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
Convert your case classes automatically
The implementation of the Rascal meta-programming language (including interpreter, type checker, parser generator, compiler and JVM based run-time system)
Type reflection, coercion, and generation written in Zig, for Zig.
Scala library for boilerplate-free, type-safe data transformations
Collection of utilities that I personally use in other scripts.
Meta-programming for Swift, stop writing boilerplate code.
JNI Bind is a set of advanced syntactic sugar for writing efficient correct JNI Code in C++17 (and up).
safe, no-cost and easy-to-use Cpp header to work safely with HW registers
type_list implemented with metaprogramming in C++17 or newer versions.
A Swiss Army knife for your Ecto schemas
Metaprogramming, verified meta-theory and implementation of Coq in Coq
Inspect locals used inside a @promplate template
Add a description, image, and links to the metaprogramming topic page so that developers can more easily learn about it.
To associate your repository with the metaprogramming topic, visit your repo's landing page and select "manage topics."