An open API service providing repository metadata for many open source software ecosystems.

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