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: 122 MB - Last synced at: 3 days ago - Pushed at: 3 days ago - Stars: 17,208 - Forks: 1,492

krzysztofzablocki/Sourcery
Meta-programming for Swift, stop writing boilerplate code.
Language: Swift - Size: 56 MB - Last synced at: 3 days ago - Pushed at: about 1 month ago - Stars: 7,894 - Forks: 628

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: 736 KB - Last synced at: 2 days ago - Pushed at: 10 days ago - Stars: 5,560 - Forks: 495

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

hylang/hy
A dialect of Lisp that's embedded in Python
Language: Python - Size: 7.44 MB - Last synced at: about 4 hours ago - Pushed at: about 1 month ago - Stars: 5,257 - Forks: 373

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

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: 124 MB - Last synced at: 5 days ago - Pushed at: 5 days ago - Stars: 2,595 - Forks: 128

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: about 1 month ago - Pushed at: about 1 month ago - Stars: 2,233 - Forks: 73

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: 2 months ago - Pushed at: 10 months ago - Stars: 2,190 - Forks: 115

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: about 1 month ago - Pushed at: about 1 month ago - Stars: 2,020 - Forks: 309

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.6 MB - Last synced at: 8 days ago - Pushed at: 8 days ago - Stars: 1,836 - Forks: 361

dotnet/dotNext
Next generation API for .NET
Language: C# - Size: 60 MB - Last synced at: 10 days ago - Pushed at: 12 days ago - Stars: 1,798 - Forks: 141

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

hirrolot/datatype99
Algebraic data types for C99
Language: C - Size: 1.15 MB - Last synced at: about 4 hours ago - Pushed at: 4 months ago - Stars: 1,425 - Forks: 24

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

scalalandio/chimney
Scala library for boilerplate-free, type-safe data transformations
Language: Scala - Size: 12.9 MB - Last synced at: 8 days ago - Pushed at: 9 days ago - Stars: 1,224 - Forks: 108

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: about 2 months ago - Pushed at: over 2 years ago - Stars: 1,150 - Forks: 80

scalameta/scalameta
Library to read, analyze, transform and generate Scala programs
Language: Scala - Size: 25.8 MB - Last synced at: about 8 hours ago - Pushed at: about 13 hours ago - Stars: 1,140 - Forks: 233

hirrolot/metalang99
Full-blown preprocessor metaprogramming
Language: C - Size: 11.9 MB - Last synced at: 15 days ago - Pushed at: 4 months ago - Stars: 950 - Forks: 27

micheles/decorator
decorator
Language: Python - Size: 1.82 MB - Last synced at: 2 days ago - Pushed at: 30 days ago - Stars: 881 - Forks: 114

scalacenter/scalafix
Refactoring and linting tool for Scala
Language: Scala - Size: 12.7 MB - Last synced at: 27 days ago - Pushed at: 27 days ago - Stars: 852 - Forks: 189

SwiftyLab/MetaCodable
Supercharge Swift's Codable implementations with macros meta-programming.
Language: Swift - Size: 45.2 MB - Last synced at: 23 days ago - Pushed at: 25 days ago - Stars: 718 - Forks: 36

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: 2 months ago - Pushed at: 11 months ago - Stars: 708 - Forks: 92

Qqwy/elixir-type_check
TypeCheck: Fast and flexible runtime type-checking for your Elixir projects.
Language: Elixir - Size: 1.53 MB - Last synced at: about 21 hours ago - Pushed at: 6 months ago - Stars: 528 - Forks: 25

HowProgrammingWorks/Book
Metaprogramming. Multi-paradigm approach in the Software Engineering.
Language: JavaScript - Size: 4.1 MB - Last synced at: about 23 hours ago - Pushed at: almost 2 years ago - Stars: 489 - Forks: 82

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

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

boost-ext/te
C++17 Run-time Polymorphism (Type Erasure) library
Language: C++ - Size: 56.6 KB - Last synced at: about 2 months ago - Pushed at: 4 months ago - Stars: 479 - Forks: 42

racket/rhombus
Rhombus programming language
Language: Racket - Size: 8.3 MB - Last synced at: 1 day ago - Pushed at: 2 days ago - Stars: 468 - Forks: 72

MetaRocq/metarocq
Metaprogramming, verified meta-theory and implementation of Rocq in Rocq
Language: Rocq Prover - Size: 33.2 MB - Last synced at: 12 days ago - Pushed at: 18 days ago - Stars: 457 - Forks: 92

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.03 GB - Last synced at: 3 days ago - Pushed at: 3 days ago - Stars: 426 - Forks: 78

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

gilch/hissp
It's Python with a Lissp.
Language: Python - Size: 1.74 MB - Last synced at: 8 days ago - Pushed at: 9 days ago - Stars: 422 - Forks: 12

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.51 MB - Last synced at: 16 days ago - Pushed at: 16 days ago - Stars: 421 - Forks: 8

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

arrow-kt/arrow-meta
Functional companion to Kotlin's Compiler
Language: Kotlin - Size: 21 MB - Last synced at: 10 days ago - Pushed at: 11 days ago - Stars: 406 - 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: 22 days ago - Pushed at: 8 months ago - Stars: 362 - Forks: 43

brunocodutra/metal
Love template metaprogramming
Language: C++ - Size: 3.52 MB - Last synced at: 2 months ago - Pushed at: over 3 years ago - Stars: 328 - Forks: 24

hirrolot/interface99
Full-featured interfaces for C99
Language: C - Size: 347 KB - Last synced at: 15 days ago - Pushed at: 4 months ago - Stars: 327 - Forks: 14

feelpp/feelpp
:gem: Feel++: Finite Element Embedded Language and Library in C++
Language: C++ - Size: 348 MB - Last synced at: 10 days ago - Pushed at: 10 days ago - Stars: 324 - Forks: 66

RayMarch/shame
A fully featured DSL for writing shaders/GPU-pipelines in Rust
Language: Rust - Size: 503 KB - Last synced at: about 1 month ago - Pushed at: about 1 month ago - Stars: 296 - Forks: 5

Drizin/CodegenCS
C# Toolkit for Code Generation (T4 alternative!)
Language: C# - Size: 1.31 MB - Last synced at: about 18 hours ago - Pushed at: 10 months ago - Stars: 296 - Forks: 35

ChristianPanov/lwlog
Very fast synchronous and asynchronous C++17 logging library
Language: C++ - Size: 1.91 MB - Last synced at: about 2 months ago - Pushed at: about 2 months ago - Stars: 291 - Forks: 29

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.59 MB - Last synced at: 15 days ago - Pushed at: 15 days ago - Stars: 290 - Forks: 34

akittas/presentations
Collection of presentations for advanced Python topics
Language: Jupyter Notebook - Size: 11.9 MB - Last synced at: 2 days ago - Pushed at: over 3 years ago - Stars: 280 - Forks: 26

lac-dcc/honey-potion
Writing eBPF programs with Elixir!
Language: C - Size: 5.33 MB - Last synced at: 4 days ago - Pushed at: about 1 month ago - Stars: 278 - Forks: 11

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: 2 months ago - Pushed at: over 2 years ago - Stars: 278 - Forks: 15

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

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

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: 4 days ago - Pushed at: about 2 years ago - Stars: 247 - Forks: 13

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

blainehansen/macro-ts
An ergonomic typescript compiler that enables typesafe syntactic macros.
Language: TypeScript - Size: 536 KB - Last synced at: 28 days ago - Pushed at: almost 4 years ago - Stars: 223 - 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: 4 months ago - Pushed at: over 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

aradi/fypp
Python powered Fortran preprocessor
Language: Python - Size: 360 KB - Last synced at: 3 days ago - Pushed at: 10 days ago - Stars: 201 - Forks: 31

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: about 2 months ago - Pushed at: over 2 years ago - Stars: 197 - Forks: 17

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

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

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

PragmaTwice/protopuf
Protocol Puffers: A little, highly templated, and protobuf-compatible serialization/deserialization header-only library written in C++20
Language: C++ - Size: 290 KB - Last synced at: 4 days ago - Pushed at: about 1 month ago - Stars: 186 - Forks: 17

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

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

LPCIC/coq-elpi
Coq plugin embedding elpi
Language: Rocq Prover - Size: 10.4 MB - Last synced at: 8 days ago - Pushed at: 9 days ago - Stars: 172 - Forks: 61

moose/Moose
Official repository for Moose
Language: Perl - Size: 20.1 MB - Last synced at: 22 days ago - Pushed at: 22 days ago - Stars: 166 - Forks: 105

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

JasonSteving99/claro-lang
Claro Lang
Language: Java - Size: 7.86 MB - Last synced at: about 7 hours ago - Pushed at: about 1 year ago - Stars: 144 - Forks: 11

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: 5 months ago - Pushed at: 5 months ago - Stars: 143 - Forks: 7

Generative-Program-Analysis/GenSym
A high-performance, parallel, compilation-based symbolic execution engine
Language: Java - Size: 21.5 MB - Last synced at: 8 days ago - Pushed at: 8 days ago - Stars: 132 - Forks: 6

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: about 5 years ago - Stars: 131 - 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: about 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: 2 months ago - Pushed at: about 7 years ago - Stars: 123 - 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: 18 days ago - Pushed at: almost 7 years ago - Stars: 120 - Forks: 3

namin/logically
explorations in core.logic
Language: Clojure - Size: 116 KB - Last synced at: 2 days ago - Pushed at: about 1 year ago - Stars: 118 - 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: 4 months ago - Pushed at: about 7 years ago - Stars: 114 - Forks: 9

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

scalameta/metabrowse
Static site generator for code search with IDE features for Scala
Language: Scala - Size: 8.68 MB - Last synced at: 16 days ago - Pushed at: 16 days ago - Stars: 108 - Forks: 27

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: about 1 year ago - Pushed at: over 1 year ago - Stars: 107 - Forks: 26

inamiy/SwiftElm
Reactive + Automaton + VTree in Swift, inspired by Elm.
Language: Swift - Size: 47.9 KB - Last synced at: 3 months ago - Pushed at: over 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: 1 day ago - Pushed at: 5 months ago - Stars: 100 - Forks: 23

ranciere/zoltan
A Sol-inspired minimalist Lua binding for Zig.
Language: C - Size: 435 KB - Last synced at: 3 months ago - Pushed at: about 2 years ago - Stars: 98 - Forks: 9

StartAutomating/PipeScript
A Metaprogramming Language for PowerShell (and anything else)
Language: PowerShell - Size: 4.62 MB - Last synced at: 28 days ago - Pushed at: about 1 year ago - Stars: 97 - 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: 4 months ago - Pushed at: about 2 years ago - Stars: 95 - Forks: 27

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

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

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

smacke/pyccolo
Declarative instrumentation for Python.
Language: Python - Size: 444 KB - Last synced at: 6 days ago - Pushed at: 6 days ago - Stars: 90 - Forks: 3

biqqles/dataclassy
A fast and flexible reimplementation of data classes
Language: Python - Size: 176 KB - Last synced at: 6 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: almost 2 years ago - Pushed at: almost 2 years 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: 3 months 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: almost 4 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: over 1 year ago - Pushed at: almost 8 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: about 1 year ago - Pushed at: about 1 year ago - Stars: 80 - Forks: 16

ZXShady/enchantum
A Faster Enum Reflection For C++20 Since I Don't Want To Wait For C++26 Reflection
Language: C++ - Size: 422 KB - Last synced at: 6 days ago - Pushed at: 6 days ago - Stars: 79 - Forks: 8

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

OpFlow-dev/OpFlow
EDSL for PDE solver composing
Language: C++ - Size: 30.4 MB - Last synced at: about 2 months ago - Pushed at: about 2 months ago - Stars: 77 - Forks: 12

sshaw/yymmdd
Tiny DSL for idiomatic date parsing and formatting in Ruby
Language: Ruby - Size: 149 KB - Last synced at: about 1 month ago - Pushed at: almost 11 years ago - Stars: 77 - Forks: 1

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

cscherrer/Tilde.jl
WIP successor to Soss.jl
Language: Julia - Size: 383 KB - Last synced at: 11 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: 3 months ago - Pushed at: almost 5 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: 2 months ago - Pushed at: over 3 years ago - Stars: 73 - Forks: 6
