Topic: "metaprogramming"
nim-lang/Nim
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).
Language: Nim - Size: 121 MB - Last synced at: 3 days ago - Pushed at: 3 days ago - Stars: 16,985 - Forks: 1,491

krzysztofzablocki/Sourcery
Meta-programming for Swift, stop writing boilerplate code.
Language: Swift - Size: 55.9 MB - Last synced at: 8 days ago - Pushed at: 18 days ago - Stars: 7,807 - Forks: 621

Neargye/magic_enum
Static reflection for enums (to string, from string, iteration) for modern C++, work with any enum type without any macro or boilerplate code
Language: C++ - Size: 699 KB - Last synced at: 13 days ago - Pushed at: about 2 months ago - Stars: 5,306 - Forks: 469

apache/groovy
Apache Groovy: A powerful multi-faceted programming language for the JVM platform
Language: Java - Size: 208 MB - Last synced at: 5 days ago - Pushed at: 5 days ago - Stars: 5,284 - Forks: 1,903

hylang/hy
A dialect of Lisp that's embedded in Python
Language: Python - Size: 7.44 MB - Last synced at: 1 day ago - Pushed at: 24 days ago - Stars: 5,211 - Forks: 370

fluentpython/example-code-2e
Example code for Fluent Python, 2nd edition (O'Reilly 2022)
Language: Python - Size: 13.1 MB - Last synced at: 11 days ago - Pushed at: 10 months ago - Stars: 3,515 - Forks: 1,000

manifold-systems/manifold
Manifold is a Java compiler plugin, its features include Metaprogramming, Properties, Extension Methods, Operator Overloading, Templates, a Preprocessor, and more.
Language: Java - Size: 123 MB - Last synced at: 10 days ago - Pushed at: 10 days ago - Stars: 2,521 - Forks: 126

edubart/nelua-lang
Minimal, efficient, statically-typed and meta-programmable systems programming language heavily inspired by Lua, which compiles to C and native code.
Language: Lua - Size: 4.52 MB - Last synced at: 10 days ago - Pushed at: 4 months ago - Stars: 2,193 - Forks: 72

Neargye/nameof
Nameof operator for modern C++, simply obtain the name of a variable, type, function, macro, and enum
Language: C++ - Size: 685 KB - Last synced at: 11 days ago - Pushed at: 6 months ago - Stars: 2,175 - Forks: 114

rubberduck-vba/Rubberduck
Every programmer needs a rubberduck. COM add-in for the VBA & VB6 IDE (VBE).
Language: C# - Size: 101 MB - Last synced at: 8 days ago - Pushed at: 21 days ago - Stars: 1,966 - Forks: 308

INRIA/spoon
Spoon is a metaprogramming library to analyze and transform Java source code. :spoon: is made with :heart:, :beers: and :sparkles:. It parses source files to build a well-designed AST with powerful analysis and transformation API.
Language: Java - Size: 34.4 MB - Last synced at: 2 days ago - Pushed at: 2 days ago - Stars: 1,805 - Forks: 362

dotnet/dotNext
Next generation API for .NET
Language: C# - Size: 60 MB - Last synced at: about 5 hours ago - Pushed at: about 5 hours ago - Stars: 1,747 - Forks: 137

boostorg/hana
Your standard library for metaprogramming
Language: C++ - Size: 41.5 MB - Last synced at: 10 days ago - Pushed at: 11 days ago - Stars: 1,742 - Forks: 218

hirrolot/datatype99
Algebraic data types for C99
Language: C - Size: 1.29 MB - Last synced at: 6 months ago - Pushed at: 7 months ago - Stars: 1,371 - Forks: 23

scalalandio/chimney
Scala library for boilerplate-free, type-safe data transformations
Language: Scala - Size: 12.7 MB - Last synced at: about 18 hours ago - Pushed at: about 18 hours ago - Stars: 1,208 - Forks: 103

boost-ext/sml
C++14 State Machine library
Language: C++ - Size: 31.9 MB - Last synced at: 14 days ago - Pushed at: 19 days ago - Stars: 1,202 - Forks: 185

veselink1/refl-cpp
Static reflection for C++17 (compile-time enumeration, attributes, proxies, overloads, template functions, metaprogramming).
Language: C++ - Size: 4.13 MB - Last synced at: 12 days ago - Pushed at: over 2 years ago - Stars: 1,134 - Forks: 80

scalameta/scalameta
Library to read, analyze, transform and generate Scala programs
Language: Scala - Size: 26 MB - Last synced at: 3 days ago - Pushed at: 3 days ago - Stars: 1,131 - Forks: 228

hirrolot/metalang99
Full-blown preprocessor metaprogramming
Language: C - Size: 11.9 MB - Last synced at: 8 days ago - Pushed at: about 1 month ago - Stars: 918 - Forks: 26

micheles/decorator
decorator
Language: Python - Size: 1.81 MB - Last synced at: 12 days ago - Pushed at: 28 days ago - Stars: 867 - Forks: 112

scalacenter/scalafix
Refactoring and linting tool for Scala
Language: Scala - Size: 12.5 MB - Last synced at: 1 day ago - Pushed at: 1 day ago - Stars: 848 - Forks: 187

SwiftyLab/MetaCodable
Supercharge Swift's Codable implementations with macros meta-programming.
Language: Swift - Size: 45.2 MB - Last synced at: 7 days ago - Pushed at: 20 days ago - Stars: 695 - Forks: 32

ac3ss0r/obfusheader.h
Obfusheader.h is a portable header file for C++14 compile-time obfuscation.
Language: C++ - Size: 3.09 MB - Last synced at: 8 days ago - Pushed at: 8 months ago - Stars: 685 - Forks: 89

Qqwy/elixir-type_check
TypeCheck: Fast and flexible runtime type-checking for your Elixir projects.
Language: Elixir - Size: 1.43 MB - Last synced at: 11 months ago - Pushed at: almost 2 years ago - Stars: 511 - Forks: 23

tvcutsem/harmony-reflect
ES5 shim for ES6 Reflect and Proxy objects
Language: JavaScript - Size: 546 KB - Last synced at: 6 days ago - Pushed at: over 1 year ago - Stars: 481 - Forks: 47

saleguas/context_menu
💻 A Python library to create and deploy cross-platform native context menus. 💻
Language: Python - Size: 13.8 MB - Last synced at: 8 days ago - Pushed at: 7 months ago - Stars: 479 - Forks: 27

HowProgrammingWorks/Book
Metaprogramming. Multi-paradigm approach in the Software Engineering.
Language: JavaScript - Size: 4.1 MB - Last synced at: 16 days ago - Pushed at: over 1 year ago - Stars: 476 - Forks: 79

boost-ext/te
C++17 Run-time Polymorphism (Type Erasure) library
Language: C++ - Size: 52.7 KB - Last synced at: 19 days ago - Pushed at: 19 days ago - Stars: 466 - Forks: 41

racket/rhombus
Rhombus programming language
Language: Racket - Size: 8.25 MB - Last synced at: 2 days ago - Pushed at: 5 days ago - Stars: 440 - Forks: 69

MetaRocq/metarocq
Metaprogramming, verified meta-theory and implementation of Rocq in Rocq
Language: Coq - Size: 33.8 MB - Last synced at: 3 days ago - Pushed at: 6 days ago - Stars: 437 - Forks: 88

usethesource/rascal
The implementation of the Rascal meta-programming language (including interpreter, type checker, parser generator, compiler and JVM based run-time system)
Language: Java - Size: 1.02 GB - Last synced at: 2 days ago - Pushed at: 2 days ago - Stars: 420 - Forks: 78

arainko/ducktape
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 🤔
Language: Scala - Size: 1.42 MB - Last synced at: 11 days ago - Pushed at: 11 days ago - Stars: 420 - Forks: 7

orsinium-labs/enum
Type safe enums for Go without code generation or reflection
Language: Go - Size: 35.2 KB - Last synced at: 17 days ago - Pushed at: 9 months ago - Stars: 420 - Forks: 20

cscherrer/Soss.jl
Probabilistic programming via source rewriting
Language: Julia - Size: 5.81 MB - Last synced at: 17 days ago - Pushed at: 9 months ago - Stars: 415 - Forks: 30

gilch/hissp
It's Python with a Lissp.
Language: Python - Size: 1.8 MB - Last synced at: 6 days ago - Pushed at: 5 months ago - Stars: 413 - Forks: 12

arrow-kt/arrow-meta
Functional companion to Kotlin's Compiler
Language: Kotlin - Size: 21 MB - Last synced at: 7 days ago - Pushed at: 10 days ago - Stars: 403 - Forks: 43

ekonbenefits/dynamitey
(pronounced dyna-mighty) flexes DLR muscle to do meta-mazing things in .net
Language: C# - Size: 679 KB - Last synced at: 3 days ago - Pushed at: 5 months ago - Stars: 362 - Forks: 43

brunocodutra/metal
Love template metaprogramming
Language: C++ - Size: 3.52 MB - Last synced at: 14 days ago - Pushed at: about 3 years ago - Stars: 329 - Forks: 24

feelpp/feelpp
:gem: Feel++: Finite Element Embedded Language and Library in C++
Language: C++ - Size: 329 MB - Last synced at: 2 days ago - Pushed at: 3 days ago - Stars: 318 - Forks: 67

ChristianPanov/lwlog
Very fast synchronous and asynchronous C++17 logging library
Language: C++ - Size: 1.84 MB - Last synced at: 9 days ago - Pushed at: about 2 months ago - Stars: 289 - Forks: 28

Drizin/CodegenCS
C# Toolkit for Code Generation (T4 alternative!)
Language: C# - Size: 1.31 MB - Last synced at: 6 days ago - Pushed at: 7 months ago - Stars: 285 - Forks: 35

Dion-Systems/metadesk
Language: C - Size: 704 KB - Last synced at: over 1 year ago - Pushed at: over 1 year ago - Stars: 285 - Forks: 18

google/jni-bind
JNI Bind is a set of advanced syntactic sugar for writing efficient correct JNI Code in C++20 and up (or C++17 with clang).
Language: C++ - Size: 2.54 MB - Last synced at: 1 day ago - Pushed at: 12 days ago - Stars: 280 - Forks: 32

Hirrolot/interface99
Full-featured interfaces for C99
Language: C - Size: 412 KB - Last synced at: 11 months ago - Pushed at: about 1 year ago - Stars: 277 - Forks: 13

c3d/xl
A minimalist, general-purpose programming language based on meta-programming and parse tree rewrites
Language: C++ - Size: 21.6 MB - Last synced at: 14 days ago - Pushed at: about 2 years ago - Stars: 277 - Forks: 15

akittas/presentations
Collection of presentations for advanced Python topics
Language: Jupyter Notebook - Size: 11.9 MB - Last synced at: 5 months ago - Pushed at: about 3 years ago - Stars: 276 - Forks: 25

lac-dcc/honey-potion
Writing eBPF programs with Elixir!
Language: C - Size: 5.3 MB - Last synced at: 11 days ago - Pushed at: 11 days ago - Stars: 269 - Forks: 11

RayMarch/shame
A shader EDSL for writing render and compute pipelines in rust
Language: Rust - Size: 263 KB - Last synced at: 17 days ago - Pushed at: almost 2 years ago - Stars: 265 - Forks: 4

avilum/linqit
Extend python lists operations using .NET's LINQ syntax for clean and fast coding.
Language: Python - Size: 73.2 KB - Last synced at: 2 days ago - Pushed at: almost 2 years ago - Stars: 248 - Forks: 13

chakravala/Reduce.jl
Symbolic parser for Julia language term rewriting using REDUCE algebra
Language: Julia - Size: 1.84 MB - Last synced at: 13 days ago - Pushed at: 6 months ago - Stars: 246 - Forks: 16

hchasestevens/astpath
A command-line search utility for Python ASTs using XPath syntax.
Language: Python - Size: 36.1 KB - Last synced at: 11 months ago - Pushed at: about 3 years ago - Stars: 240 - Forks: 56

katursis/StringObfuscator
Simple header-only compile-time library for string obfuscation (C++14)
Language: C++ - Size: 13.7 KB - Last synced at: over 1 year ago - Pushed at: about 3 years ago - Stars: 232 - Forks: 41

blainehansen/macro-ts
An ergonomic typescript compiler that enables typesafe syntactic macros.
Language: TypeScript - Size: 536 KB - Last synced at: 12 days ago - Pushed at: over 3 years ago - Stars: 221 - Forks: 5

olmallet81/GALGO-2.0
Genetic Algorithm in C++ with template metaprogramming and abstraction for constrained optimization
Language: C++ - Size: 145 KB - Last synced at: 29 days ago - Pushed at: about 5 years ago - Stars: 220 - Forks: 53

BOT-Man-JL/ORM-Lite
Header-Only, Strong-Typed, Compile-time Object Relation Mapping (ORM) in Modern C++ :-)
Language: C++ - Size: 4.69 MB - Last synced at: over 1 year ago - Pushed at: over 7 years ago - Stars: 216 - Forks: 64

epfldata/squid
Squid – type-safe metaprogramming and compilation framework for Scala
Language: Scala - Size: 4.33 MB - Last synced at: 12 months ago - Pushed at: about 1 year ago - Stars: 196 - Forks: 14

aradi/fypp
Python powered Fortran preprocessor
Language: Python - Size: 331 KB - Last synced at: 3 days ago - Pushed at: 13 days ago - Stars: 195 - Forks: 30

erikzenker/hsm
Finite state machine library based on the boost hana meta programming library. It follows the principles of the boost msm and boost sml libraries, but tries to reduce own complex meta programming code to a minimum.
Language: C++ - Size: 1.54 MB - Last synced at: 14 days ago - Pushed at: over 2 years ago - Stars: 195 - Forks: 17

BirjuVachhani/spider
A small dart library to generate Assets dart code from assets folder.
Language: Dart - Size: 5.63 MB - Last synced at: 9 days ago - Pushed at: 5 months ago - Stars: 191 - Forks: 23

elichai/log-derive
A procedural macro for auto logging output of functions
Language: Rust - Size: 89.8 KB - Last synced at: 6 months ago - Pushed at: over 3 years ago - Stars: 188 - Forks: 12

ldionne/metabench
A simple framework for compile-time benchmarks
Language: CMake - Size: 341 MB - Last synced at: 14 days ago - Pushed at: almost 4 years ago - Stars: 183 - Forks: 17

monobot/asyncorm
Fully Async ORM inspired in django's
Language: Python - Size: 834 KB - Last synced at: 13 days ago - Pushed at: 6 months ago - Stars: 178 - Forks: 15

PragmaTwice/protopuf
Protocol Puffers: A little, highly templated, and protobuf-compatible serialization/deserialization header-only library written in C++20
Language: C++ - Size: 283 KB - Last synced at: 17 days ago - Pushed at: 5 months ago - Stars: 168 - Forks: 15

moose/Moose
Official repository for Moose
Language: Perl - Size: 20.1 MB - Last synced at: 10 days ago - Pushed at: 6 months ago - Stars: 167 - Forks: 105

LPCIC/coq-elpi
Coq plugin embedding elpi
Language: Coq - Size: 10.2 MB - Last synced at: 1 day ago - Pushed at: 1 day ago - Stars: 163 - Forks: 59

deepgrace/monster
The Art of Template MetaProgramming (TMP) in Modern C++♦️
Language: C++ - Size: 1000 KB - Last synced at: 5 months ago - Pushed at: 11 months ago - Stars: 161 - Forks: 15

rlipsc/polymorph
A fast and frugal entity-component-system library with a focus on code generation and compile time optimisation.
Language: Nim - Size: 2.19 MB - Last synced at: about 2 months ago - Pushed at: about 2 months ago - Stars: 143 - Forks: 7

JasonSteving99/claro-lang
Claro Lang
Language: Java - Size: 7.86 MB - Last synced at: 2 days ago - Pushed at: 12 months ago - Stars: 142 - Forks: 11

mkitzan/constexpr-sql
Header only library that parses and plans SQL queries at compile time
Language: C++ - Size: 1.39 MB - Last synced at: over 1 year ago - Pushed at: almost 5 years ago - Stars: 131 - Forks: 5

Generative-Program-Analysis/GenSym
A high-performance, parallel, compilation-based symbolic execution engine
Language: Java - Size: 21.4 MB - Last synced at: 11 days ago - Pushed at: 11 days ago - Stars: 128 - Forks: 5

hchasestevens/xpyth
A module for querying the DOM tree and writing XPath expressions using native Python syntax.
Language: Python - Size: 38.1 KB - Last synced at: 20 days ago - Pushed at: almost 7 years ago - Stars: 127 - Forks: 5

hchasestevens/monkeys
A strongly-typed genetic programming framework for Python
Language: Python - Size: 177 KB - Last synced at: 14 days ago - Pushed at: almost 7 years ago - Stars: 122 - Forks: 14

joom/hezarfen 📦
a theorem prover for intuitionistic propositional logic in Idris, with metaprogramming features
Language: Idris - Size: 48.8 KB - Last synced at: 5 months ago - Pushed at: over 6 years ago - Stars: 119 - Forks: 3

namin/logically
explorations in core.logic
Language: Clojure - Size: 116 KB - Last synced at: 8 days ago - Pushed at: 10 months ago - Stars: 117 - Forks: 9

Thangiee/Freasy-Monad
Easy way to create Free Monad using Scala macros with first-class Intellij support.
Language: Scala - Size: 382 KB - Last synced at: 15 days ago - Pushed at: almost 7 years ago - Stars: 114 - Forks: 9

ssanderson/python-interface
Minimal Pythonic Interface Definitions
Language: Python - Size: 130 KB - Last synced at: 9 days ago - Pushed at: almost 4 years ago - Stars: 112 - Forks: 16

hosseinmoein/Tiger
C++ Matrix -- High performance and accurate (e.g. edge cases) matrix math library with expression template arithmetic operators
Language: C++ - Size: 923 KB - Last synced at: 12 months ago - Pushed at: about 1 year ago - Stars: 107 - Forks: 26

scalameta/metabrowse
Static site generator for code search with IDE features for Scala
Language: Scala - Size: 8.73 MB - Last synced at: about 1 year ago - Pushed at: about 1 year ago - Stars: 104 - Forks: 26

inamiy/SwiftElm
Reactive + Automaton + VTree in Swift, inspired by Elm.
Language: Swift - Size: 47.9 KB - Last synced at: 8 days ago - Pushed at: about 6 years ago - Stars: 103 - Forks: 2

gtreshchev/AndroidNative 📦
Android Native plugin for Unreal Engine that makes it easy to call Java functions via JNI. It uses template metaprogramming to automatically generate JNI signatures and handle type conversions, wrapping all JNI environment management into a single function call.
Language: C++ - Size: 108 KB - Last synced at: 3 days ago - Pushed at: 2 months ago - Stars: 101 - Forks: 21

kailuowang/mainecoon 📦
Transform and compose tagless final encoded algebras in scala
Language: Scala - Size: 2.62 MB - Last synced at: about 1 year ago - Pushed at: almost 7 years ago - Stars: 96 - Forks: 8

PacktPublishing/The-Complete-Rust-Programming-Reference-Guide
Design, develop, and deploy effective software systems using the advanced constructs of Rust
Language: Rust - Size: 774 KB - Last synced at: 25 days ago - Pushed at: almost 2 years ago - Stars: 95 - Forks: 27

ranciere/zoltan
A Sol-inspired minimalist Lua binding for Zig.
Language: C - Size: 435 KB - Last synced at: 5 months ago - Pushed at: almost 2 years ago - Stars: 94 - Forks: 8

inamiy/VTree
VirtualDOM for Swift (iOS, macOS)
Language: Swift - Size: 140 KB - Last synced at: 8 days ago - Pushed at: about 6 years ago - Stars: 91 - Forks: 3

Roger-luo/Expronicon.jl
Collective tools for metaprogramming on Julia Expr
Language: Julia - Size: 3.36 MB - Last synced at: 17 days ago - Pushed at: 3 months ago - Stars: 89 - Forks: 7

StartAutomating/PipeScript
A Metaprogramming Language for PowerShell (and anything else)
Language: PowerShell - Size: 4.62 MB - Last synced at: 6 months ago - Pushed at: 10 months ago - Stars: 89 - Forks: 8

smacke/pyccolo
Declarative instrumentation for Python.
Language: Python - Size: 377 KB - Last synced at: 17 days ago - Pushed at: about 1 month ago - Stars: 88 - Forks: 3

biqqles/dataclassy
A fast and flexible reimplementation of data classes
Language: Python - Size: 176 KB - Last synced at: 4 days ago - Pushed at: over 2 years ago - Stars: 84 - Forks: 9

belka-ew/tanya
GC-free, high-performance D library: Containers, networking, metaprogramming, memory management, utilities
Language: D - Size: 1.78 MB - Last synced at: over 1 year ago - Pushed at: over 1 year ago - Stars: 83 - Forks: 3

brandonbloom/metaclj
Staged compilation for Clojure through environment & special-form aware syntax-quoting.
Language: Clojure - Size: 34.2 KB - Last synced at: 4 days ago - Pushed at: over 3 years ago - Stars: 81 - Forks: 4

alhassy/next-700-module-systems
PhD research ;; What's the difference between a typeclass/trait and a record/class/struct? Nothing really, or so I argue.
Language: HTML - Size: 80.9 MB - Last synced at: 14 days ago - Pushed at: over 3 years ago - Stars: 81 - Forks: 6

vitorsvieira/dilate
Nearly zero runtime object allocation powered by scalameta. Value class and Unboxed Tagged Type generation at compile-time.
Language: Scala - Size: 186 KB - Last synced at: about 1 year ago - Pushed at: over 7 years ago - Stars: 81 - Forks: 5

symmetryinvestments/autowrap
Wrap existing D code for use in Python, Excel, C#
Language: D - Size: 3.6 MB - Last synced at: 10 months ago - Pushed at: 11 months ago - Stars: 80 - Forks: 16

true-grue/raddsl
Tools for rapid prototyping of DSL compilers
Language: Python - Size: 46.9 KB - Last synced at: over 1 year ago - Pushed at: almost 4 years ago - Stars: 79 - Forks: 5

sshaw/yymmdd
Tiny DSL for idiomatic date parsing and formatting in Ruby
Language: Ruby - Size: 149 KB - Last synced at: 4 days ago - Pushed at: over 10 years ago - Stars: 77 - Forks: 1

cscherrer/Tilde.jl
WIP successor to Soss.jl
Language: Julia - Size: 383 KB - Last synced at: 6 days ago - Pushed at: over 2 years ago - Stars: 74 - Forks: 1

google/cpp-async-rpc
Library for Asynchronicity, Serialization and Remoting
Language: C++ - Size: 617 KB - Last synced at: 1 day ago - Pushed at: over 4 years ago - Stars: 74 - Forks: 21

TheLartians/StaticTypeInfo
🏀 Up your type-game. A small C++ library for compile-time type names and type indices.
Language: CMake - Size: 41 KB - Last synced at: 22 days ago - Pushed at: about 3 years ago - Stars: 73 - Forks: 6

metashade/metashade
An experimental GPU shading DSL embedded in Python.
Language: Python - Size: 401 KB - Last synced at: 4 months ago - Pushed at: 4 months ago - Stars: 72 - Forks: 3

TOTBWF/refinery
⛏️ A refinement proof framework for haskell
Language: Haskell - Size: 142 KB - Last synced at: 13 days ago - Pushed at: almost 2 years ago - Stars: 69 - Forks: 3
