newsletterlibrary.com

Top : Computers : Programming :
Metaprogramming

Categories
Conferences 
Metaobject Protocols 
Quines 
Source Code Generators 

Websites
Description and examples of a metadata driven development practice, which reduces duplication of implicit metadata assumptions (field length) throughout the code.
site exerpt
Metadata Centric Development  The underlying concept isn't new. Invent a domain language that splits the more transient elements of a software system apart from its more fixed logic. If you can separate the things that change the most away from your code and...
http://www.clevebrown.com/mcd/

Covers reflection, self-modifying code or mutable MOPs, Dylan, and aspect-oriented programming.
site exerpt
Dynamic Languages Group  We are exploring the design and implementation of next generation programming languages to support intelligent, adaptive, complex software systems. In order to implement dynamic, adaptive software systems, programming languages must support reasoning about their own structure, performance, and environment (often...
http://www.ai.mit.edu/projects/dynlangs/

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.
site exerpt
The Program Generator Generator PGG  G system is a partial evaluation system for the programming language Scheme. It implements program specialization in the following sense: Given a program p and a specification which of the inputs are known in advance, PGG constructs a program generator...
http://www.informatik.uni-freiburg.de/proglang/software/pgg/

A system for creating language-sensitive editors, interfaces, and environments from formal grammatical descriptions of any language. [Commercial]
site exerpt
Synthesizer Generator Tool for creating language-sensitive editing environments and interfaces  Generator is a tool for creating language-sensitive editing environments and interfaces. Rules input to the Synthesizer Generator define a language's abstract syntax, context-sensitive relationships, display formats, concrete input syntax, and source-to-source restructuring transformations. The Synthesizer Generator then creates an editor...
http://www.grammatech.com/products/sg/overview.html

Some links and references for this optimization technique, and prototypes in various languages.
site exerpt
Partial Evaluation  An overview on partial evaluation Resources on partial evaluation Existing specializers and related projects Some events related to partial evaluation Some basic references Our prototypes: JSCC: a compiler for Java specialization classes SCHISM: a partial evaluator for Scheme TEMPO: a...
http://compose.labri.fr/documentation/pe/

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.
site exerpt
Lutz Roeder, Talks and Papers  Magazin fr professionelle Informationstechnik, pp. 142-147, November 2000. Roeder, Lutz: Transformation and Visualization of Abstractions using the IP System. Invited Talk given at the GCSE'99 Young Researchers Workshop at the 1st International Symposium on Generative and Component-based Software Engineering, 1999....
http://www.aisto.com/roeder/paper/

A resource for software engineers and architects interest in code generation with articles, interviews and a database of generation tools.
site exerpt
Code Generation Network  Parr walks us through generating code for a new domain specific language with ANTLR and StringTemplate.Andy Grove introduces us to CodeFutures FireStorm/DAO code generator, a pragmatic database persistence tool for Java that supports all of today's persistence standards. Sponsors These...
http://www.codegeneration.net/

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.
site exerpt
MetaL MetaL: An XML based Meta-Programming language  Remind me when this page changes! By: Manuel Lemos. Last change Date: 2005/11/02 03:27:37 Contents Latest News What is MetaL? What is Metastorage? Latest News Taken from the News archive section: New transaction support and handwritten code customizations 2005-11-02 03:00:00...
http://www.meta-language.net/

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.
site exerpt
IPAD-Pro home page  Intelligent vector drawing package XEBOT Visual application builder and multiplatform execution environment ZMECH Fully integrated state machine CASE tool ZMECH (PIC Edition) Fully integrated state machine CASE tool (Including Student Hobbyist Edition nbsp   Available non IPAD-Pro derived software XCASM...
http://www.xcprod.com/titan/

Deticated to tools and information related to model-driven system development, aiming at supporting OMG's vision of MDA.
site exerpt
modelbased.net  Programming languages provides one level of abstraction, which can be viewed as a model of the system we are building, which helps organising concepts and design. Graphical models, as those provided by use of languages like UML, provide abstractions that...
http://www.modelbased.net/