Metaprogramming is the writing of programs that write or manipulate other programs (or themselves) as their data or that do part of the work that is otherwise done at compile time during runtime. In many cases, this allows programmers to get more done in the same amount of time as they would take to write all the code manually.
The language in which the metaprogram is written is called the metalanguage. The language of the programs that are manipulated is called the object-language. The capacity of a programming language to be its own meta-language is called reflexivity.
A simple example of a metaprogram is this bash script, which is an example of generative programming:
More on [ Metaprogramming ]
Aspect Oriented :: Methodologies

Code Generation Network - A resource for software engineers and architects interest in code generation with articles, interviews and a database of generation tools.
Meta Description: [ Software engineering resource for code generation tools articles and interviews. ]
Dynamic Languages Group - MIT AI Lab - Covers reflection, self-modifying code or mutable MOPs, Dylan, and aspect-oriented programming.
Intentional Programming - Papers on the metaprogramming system and former MS research project in which software is viewed as a database and multiple source code representations can be used.
IPAD Pro - Meta CASE tool. It allows developer to build CASE tools that allows end user to use graphical object manipulation to design and maintain end user system. Incorporate high level visual programming interface. Provides multiplatform GUI and execution environment.
Metadata Centric Development - Description and examples of a metadata driven development practice, which reduces duplication of implicit metadata assumptions (field length) throughout the code.
MetaL - An XML based Meta-Programming language. Also home of Metastorage, an application that is meant to automatically generate code from an high level data model definition.
ModelBased.net - Deticated to tools and information related to model-driven system development, aiming at supporting OMG's vision of MDA.
Meta Description: [ MDA; Model Driven Architecture; UMT; Model Transformation; Code Generation, QVT ]
404
Partial Evaluation - Some links and references for this optimization technique, and prototypes in various languages.
Synthesizer Generator - A system for creating language-sensitive editors, interfaces, and environments from formal grammatical descriptions of any language. [Commercial]
The Program Generator Generator - A partial evaluation system for Scheme: Given a program P and a specification of which of the inputs are known in advance, PGG outputs a program generator which accepts the known inputs of P and outputs a specialized version of P. PGG is fully automatic and can process all valid Scheme programs.
| Cogitate | |
| Next Video | |