Open-source projects categorized as Metaprogramming Edit details

Top 23 Metaprogramming Open-Source Projects

  • 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).

    Project mention: Is Rust worth it for non low-level applications | | 2022-08-18

    Let me introduce you to our lord and saviour ;) It's kind of what I wanted python to be, but it isn't, ymmv though :0

  • Insanity

    Meta-programming for Swift, stop writing boilerplate code.

    Project mention: Any ideas on how to filter out the empty and nil values from JSON object? | | 2022-07-22

    Probably overkill for a single DTO but I use Sourcery to provide default decoding values for nil/missing properties (among other things).

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • curlconverter

    Convert cURL commands to Python, JavaScript, PHP, R, Go, Ruby, Rust, Elixir, Java, MATLAB, Dart and more

    Project mention: I absolutely love web scraping. | | 2022-03-23

    Relevant tools: - Browser dev tools and front-end tooling to debug JS and reconstruct requests in your code - and SourceGraph to check open-source parsers for some URLs (often, there are such repositories) - curlconverter to quickly draft a script from the cURL command - Regex and regex playgrounds to extract data from inline JavaScript - GraphQL introspection tools - Optionally, Fiddler or Wireshark to intercept and debug network requests (I don't use but my teammate does)

  • groovy

    Apache Groovy: A powerful multi-faceted programming language for the JVM platform

    Project mention: I think this is the reason programmers are stressed. | | 2022-07-11

    You do realize that Groovy solves this, right?

  • hy

    A dialect of Lisp that's embedded in Python

    Project mention: Dogelang – it's a Python No, it's a Haskell | | 2022-08-14
  • Magic Enum C++

    Static reflection for enums (to string, from string, iteration) for modern C++, work with any enum type without any macro or boilerplate code

    Project mention: Show HN: The Ultimate C++14 Enum Library | | 2022-07-26

    To my knowledge magic_enum has some severe limitations; for example, it limits the range of enum values, it cannot handle duplicate enum values, it uses compiler-specific hackes, etc. There is a list of all of them here. [1]

    And I'm glad to see interest! I can definitely add string -> enum conversion—I'll see if I can do that right now in fact, it might not take long.


  • Rubberduck

    Every programmer needs a rubberduck. COM add-in for the VBA & VB6 IDE (VBE).

    Project mention: does everyone know about rubber duck? I love this little plugin | | 2022-05-23
  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

  • Nameof C++

    Nameof operator for modern C++, simply obtain the name of a variable, type, function, macro, and enum

    Project mention: Nameof: Simply Obtain The Name Of A C++ Variable, Type, Function, Or Macro | | 2022-05-11
  • hana

    Your standard library for metaprogramming

  • 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.

  • manifold

    Manifold is a Java compiler plugin, its features include Metaprogramming, Properties, Extension Methods, Operator Overloading, Templates, a Preprocessor, and more.

    Project mention: A Self type for Java? | | 2022-08-19
  • example-code-2e

    Example code for Fluent Python, 2nd edition (O'Reilly 2022)

    Project mention: I want to make a deck of cards in Python. I seem to get the assignment wrong, even with using copy.deepcopy | | 2022-05-24
  • nelua-lang

    Minimal, efficient, statically-typed and meta-programmable systems programming language heavily inspired by Lua, which compiles to C and native code.

    Project mention: Terra Programming Language Releases Version 1.0.0 | | 2022-06-08

    Also, very similar to Nelua, what are the main differences (optional GC in Nelua seems to be an obvious one)?

  • scala.meta

    Library to read, analyze, transform and generate Scala programs

    Project mention: Scala Library To Generate Case Classes for JSON | | 2022-08-16

    I just wrote a small generator for a personal project using scalameta. It might be worth doing just for the learning experience, I thought it was a blast to use.

  • Experimental Boost.DI

    DI: C++14 Dependency Injection Library

    Project mention: Dependency injection | | 2022-07-23

    I was looking to try boost.di for some time, looks nice.

  • dotNext

    Next generation API for .NET (by dotnet)

    Project mention: What annoys you about C#/.Net? | | 2021-10-28

    Someone else used the name dotNext since MS didn't

  • sml

    SML: C++14 State Machine Library

    Project mention: How portable is ST's HAL API? | | 2022-07-22
  • Scalafix

    Refactoring and linting tool for Scala

    Project mention: Security static analysis tooling for Scala? | | 2022-08-11

    I also recommend using Scalafix. It's a tool which can lint your codebase, checking for potentially problematic things, like

  • refl-cpp

    Static reflection for C++17 (compile-time enumeration, attributes, proxies, overloads, template functions, metaprogramming).

    Project mention: Show HN: Static reflection for C++17 (enumeration, attributes, proxies, ...) | | 2022-01-05
  • Weaver

    Dependency Injection framework for Swift (iOS/macOS/Linux)

  • datatype99

    Algebraic data types for C99

    Project mention: Does C have an equivalent to an algebraic data type? | | 2022-08-17

    It does not. There are people who have implemented such constructs in C code however, for example:

  • metalang99

    Full-blown preprocessor metaprogramming

    Project mention: Metalang99: Full-blown preprocessor metaprogramming for C/C++ | | 2022-08-09
  • harmony-reflect

    ES5 shim for ES6 Reflect and Proxy objects

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2022-08-19.

Metaprogramming related posts


What are some of the best open-source Metaprogramming projects? This list will help you:

Project Stars
1 Nim 13,424
2 Insanity 6,758
3 curlconverter 5,774
4 groovy 4,600
5 hy 4,324
6 Magic Enum C++ 2,951
7 Rubberduck 1,627
8 Nameof C++ 1,410
9 hana 1,391
10 Spoon 1,367
11 manifold 1,343
12 example-code-2e 1,326
13 nelua-lang 1,187
14 scala.meta 988
15 Experimental Boost.DI 923
16 dotNext 824
17 sml 783
18 Scalafix 697
19 refl-cpp 687
20 Weaver 665
21 datatype99 611
22 metalang99 556
23 harmony-reflect 444
Find remote jobs at our new job board There are 3 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives