meta-programming
Marcus Denker
marcus at ira.uka.de
Mon Feb 24 15:05:43 UTC 2003
On Mon, Feb 24, 2003 at 05:12:52AM -0800, John W. Sarkela wrote:
>
> So from this we might infer that metaprogramming is in some
> sense a transcendent activitiy. It is the programming of the
> means of programming. Look through past OOPSLA proceedings.
> I recall an excellent paper by Gregor Kiczales et. al. on the topic.
>
I nice introduction could be Stephane's lecture:
http://www.iam.unibe.ch/~scg/Teaching/Reflective/
Or the (sadly) never published book by Kiczales
and Paepcke:
"Open Implementations and Metaobject Protocols"
http://www2.parc.com/csl/groups/sda/publications/papers/Kiczales-TUT95/for-web.pdf
This is *much* easier to understand than "The Art
of the MetaObject Protocol":
@Book{kiczales-etal-91,
author = "G. Kiczales and J. {des Rivieres} and D. G. Bobrow",
title = "The Art of the Meta-Object Protocol",
publisher = "MIT Press",
address = "Cambridge (MA), USA",
year = "1991",
}
see http://www.amazon.com/exec/obidos/tg/detail/-/0262610744
Some other papers (they are all available on the net somewhere, just
search for them):
@InProceedings{Riva96c,
author = "Fred Rivard",
title = "{Smalltalk : a Reflective Language}",
booktitle = "Proceedings of REFLECTION'96",
year = "1996",
pages = "21--38",
month = apr,
}
@Article{kiczales96a,
key = "kiczales96a",
author = "Gregor Kiczales",
title = "Beyond the Black Box: Open Implementations",
journal = "IEEE Software",
month = jan,
year = "1996",
volume = "13",
number = "1",
pages = "8--11",
abstract = "Encapsulation, informally known as black-box
abstraction, is a widely known and accepted principle.
It is a basic tenet of software design, underlying
approaches to portability and reuse. However, many
practitioners find themselves violating it in order to
achieve performance requirements in a practical manner.
The gap between theory and practice must be filled.
Open implementation is a controversial new approach
that claims to do just that. The paper provides some
ideas to spark further debate on black-box abstraction
(0 Refs.)",
}
@InBook{kiczales93a,
key = "kiczales93a",
author = "Gregor Kiczales and J. Michael Ashley and Luis
Rodriguez and Amin Vahdat and Daniel G. Bobrow",
title = "Metaobject Protocols: Why We Want Them and What Else
They Can Do",
pages = "101--118",
publisher = "The MIT Press",
year = "1993",
address = "Cambridge, MA",
abstract = "Originally conceived as a neat idea that could help
solve problems in the design and implementation of
CLOS, the metaobject protocol framework now appears to
have applicability to a wide range of problems that
come up in high-level languages. This chapter sketches
this wider potential, by drawing an analogy to ordinary
language design, by presenting some early design
principles, and by presenting an overview of three new
metaobject protcols we have designed that,
respectively, control the semantics of Scheme, the
compilation of Scheme, and the static parallelization
of Scheme programs.",
}
--
Marcus Denker marcus at ira.uka.de -- Squeak! http://squeak.de
More information about the Squeak-dev
mailing list
|