Metaprogramming Glossary
Browse 18 metaprogramming terms defined in plain English, from the cultural dictionary of computing.
18 Metaprogramming Terms
- Comptime
- A Zig language keyword that forces an expression to be evaluated at compile time rather than runtime, enabling powerful metaprogramming and generic programming...
- Decorator
- A design pattern or language feature that wraps a function or class to modify its behavior without changing its source code. In Python, decorators use the...
- Eval
- A function that executes a string as code at runtime. Available in JavaScript, Python, Ruby, and many dynamic languages. Powerful for metaprogramming but...
- Macro
- A rule or pattern that generates or transforms code at compile time, expanding shorthand into more complex expressions — used in C preprocessor, Rust, Lisp,...
- Magic Method
- A specially named method in Python (surrounded by double underscores, like `__init__`, `__getattr__`, `__add__`) that the interpreter calls implicitly in...
- Metaclass
- A class whose instances are themselves classes — it defines how classes behave, enabling customization of class creation, attribute access, and inheritance.
- Metamethod
- In Lua, a special function defined in a metatable that overrides default behavior for operations like addition, comparison, indexing, or string conversion on a...
- Meta Programming Slang
- Informal language used when talking about code that writes, transforms, or reasons about other code. In engineering slang, metaprogramming talk often...
- Property Descriptor
- In JavaScript, a plain object that defines the attributes of an object property — including value, writable, enumerable, configurable for data descriptors, or...
- Property Wrapper
- A Swift language feature (declared with @propertyWrapper) that encapsulates custom storage and access logic for a property, enabling reusable patterns like...
- Proxy Object
- In JavaScript, an object created with new Proxy(target, handler) that wraps another object and intercepts fundamental operations — such as property access,...
- Python Decorator
- A higher-order function, applied with the @decorator syntax above a function or class definition, that takes the decorated callable as input and returns a...
- Quote
- In Lisp-family languages and Elixir, quoting prevents evaluation of an expression, returning its abstract syntax tree (AST) representation instead. In shells,...
- Reflection
- A language capability that allows a program to inspect and manipulate its own structure at runtime — querying class names, method signatures, field types, and...
- Reflective Programming
- A programming paradigm in which code uses reflection to observe and modify its own structure or behavior at runtime — creating classes, adding methods,...
- Rust Macro
- A metaprogramming construct in Rust that generates code at compile time. Declarative macros (macro_rules!) match patterns and expand to code, while procedural...
- Template
- A construct that allows writing code parameterized by types or values, generating specialized versions at compile time. Central to C++ generics and used...
- Type Provider
- An F# compiler feature that generates types at compile time from external data sources (databases, APIs, CSV files). Gives you IntelliSense and type safety for...
Related Topics
- Python (4 terms in common)
- Oop (3 terms in common)
- Javascript (2 terms in common)
- Runtime (2 terms in common)
- Code Generation (2 terms in common)
- Dynamic Languages (1 terms in common)
- Dynamic (1 terms in common)
- Security Risk (1 terms in common)
- Functions (1 terms in common)
- Swift (1 terms in common)
- Type System (1 terms in common)
- Generics (1 terms in common)
- Design Pattern (1 terms in common)
- Lisp (1 terms in common)
- Es6 (1 terms in common)
- Data (1 terms in common)
- Rust (1 terms in common)
- Language Feature (1 terms in common)
- Performance (1 terms in common)
- Abstraction (1 terms in common)