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: 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