446 lines
20 KiB
HTML
446 lines
20 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>
|
|
Macros
|
|
</title>
|
|
<meta name="generator" content="SchemeBib and Site-ML" charset=
|
|
"utf-8">
|
|
<meta name="description" content=
|
|
"Online bibliography of Scheme research">
|
|
<meta name="keywords" content=
|
|
"Scheme, bibliography, research, macros">
|
|
<meta name="robots" content="index,follow">
|
|
<link rel="stylesheet" href="basic.css" type="text/css">
|
|
</head>
|
|
<body>
|
|
<table width="100%">
|
|
<tr valign="top">
|
|
<td width="124">
|
|
<table width="124">
|
|
<tr width="124" height="45">
|
|
<td width="124" height="45">
|
|
<img width="124" height="45" border="0" alt=
|
|
"Readscheme.org" src="./imgs/nav-logo.gif">
|
|
</td>
|
|
</tr>
|
|
<tr width="124" height="124">
|
|
<td width="124" height="124">
|
|
<a href="./index.html" target="_top"><img width=
|
|
"124" height="124" border="0" alt=
|
|
"Scheme Bibliography Home" src=
|
|
"./imgs/nav_mainlogo.gif"></a>
|
|
</td>
|
|
</tr>
|
|
<tr width="124" height="30">
|
|
<td width="124" height="30">
|
|
<a href="./page1.html" target="_top"><img width=
|
|
"124" height="30" border="0" alt="Classics" src=
|
|
"./imgs/nav_classics.gif"></a>
|
|
</td>
|
|
</tr>
|
|
<tr width="124" height="18">
|
|
<td width="124" height="18">
|
|
<a href="./page2.html" target="_top"><img width=
|
|
"124" height="18" border="0" alt="Semantics" src=
|
|
"./imgs/nav_sem.gif"></a>
|
|
</td>
|
|
</tr>
|
|
<tr width="124" height="18">
|
|
<td width="124" height="18">
|
|
<a href="./page3.html" target="_top"><img width=
|
|
"124" height="18" border="0" alt="Macros" src=
|
|
"./imgs/focus_nav_macros.gif"></a>
|
|
</td>
|
|
</tr>
|
|
<tr width="124" height="18">
|
|
<td width="124" height="18">
|
|
<a href="./page4.html" target="_top"><img width=
|
|
"124" height="18" border="0" alt="Objects" src=
|
|
"./imgs/nav_objects.gif"></a>
|
|
</td>
|
|
</tr>
|
|
<tr width="124" height="30">
|
|
<td width="124" height="30">
|
|
<a href="./page5.html" target="_top"><img width=
|
|
"124" height="30" border="0" alt="Modules" src=
|
|
"./imgs/nav_modules.gif"></a>
|
|
</td>
|
|
</tr>
|
|
<tr width="124" height="18">
|
|
<td width="124" height="18">
|
|
<a href="./page6.html" target="_top"><img width=
|
|
"124" height="18" border="0" alt="Continuations"
|
|
src="./imgs/nav_cps.gif"></a>
|
|
</td>
|
|
</tr>
|
|
<tr width="124" height="30">
|
|
<td width="124" height="30">
|
|
<a href="./pagexml.html" target="_top"><img width=
|
|
"124" height="30" border="0" alt="Web Programming"
|
|
src="./imgs/nav_xml.gif"></a>
|
|
</td>
|
|
</tr>
|
|
<tr width="124" height="18">
|
|
<td width="124" height="18">
|
|
<a href="./page7.html" target="_top"><img width=
|
|
"124" height="18" border="0" alt="Applications"
|
|
src="./imgs/nav_appl.gif"></a>
|
|
</td>
|
|
</tr>
|
|
<tr width="124" height="18">
|
|
<td width="124" height="18">
|
|
<a href="./page8.html" target="_top"><img width=
|
|
"124" height="18" border="0" alt="Implementation"
|
|
src="./imgs/nav_impl.gif"></a>
|
|
</td>
|
|
</tr>
|
|
<tr width="124" height="30">
|
|
<td width="124" height="30">
|
|
<a href="./page9.html" target="_top"><img width=
|
|
"124" height="30" border="0" alt=
|
|
"Concurrent Programming" src=
|
|
"./imgs/nav_conc.gif"></a>
|
|
</td>
|
|
</tr>
|
|
<tr width="124" height="30">
|
|
<td width="124" height="30">
|
|
<a href="./page10.html" target="_top"><img width=
|
|
"124" height="30" border="0" alt=
|
|
"Partial Evaluation" src="./imgs/nav_pe.gif"></a>
|
|
</td>
|
|
</tr>
|
|
<tr width="124" height="18">
|
|
<td width="124" height="18">
|
|
<a href="./page11.html" target="_top"><img width=
|
|
"124" height="18" border="0" alt="Reflection" src=
|
|
"./imgs/nav_reflect.gif"></a>
|
|
</td>
|
|
</tr>
|
|
<tr width="124" height="30">
|
|
<td width="124" height="30">
|
|
<a href="./whats_new.html" target=
|
|
"_top"><img width="124" height="30" border="0" alt=
|
|
"Recent Additions" src="./imgs/nav_recent.gif"></a>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td width="20">
|
|
<img width="20" height="1" border="0" src=
|
|
"./imgs/dot_clear.gif">
|
|
</td>
|
|
<td>
|
|
<a name="macros" id="macros"></a>
|
|
<h2>
|
|
Macros
|
|
</h2>
|
|
<ul>
|
|
<li>David Herman and David Van Horn. "A few principles
|
|
of macro design". <em>2008 Workshop on Scheme and
|
|
Functional Programming</em>. September 2008. Available
|
|
online: <a href=
|
|
"http://repository.readscheme.org/ftp/papers/sw2008/09-herman.pdf">
|
|
pdf</a>.
|
|
</li>
|
|
<li>Ryan Culpepper and Matthias Felleisen. "A Stepper
|
|
for Scheme Macros". <em>2006 Workshop on Scheme and
|
|
Functional Programming</em>. September 2006. Available
|
|
online: <a href=
|
|
"http://repository.readscheme.org/ftp/papers/sw2006/10-culpepper.pdf">
|
|
pdf</a>.
|
|
</li>
|
|
<li>Ryan Culpepper and Matthias Felleisen. " Taming
|
|
Macros". <em>Generative Programming and Component
|
|
Engineering (GPCE 2004)</em>. October 2004. Available
|
|
online: <a href=
|
|
"http://www.ccs.neu.edu/scheme/pubs/gpce2004-cf.ps">ps</a>
|
|
<a href=
|
|
"http://www.ccs.neu.edu/scheme/pubs/gpce2004-cf.pdf">pdf</a>.
|
|
</li>
|
|
<li>Ryan Culpepper and Matthias Felleisen. "Well-Shaped
|
|
Macros". <em>Scheme Workshop 2003</em>. November 2003.
|
|
Available online: <a href=
|
|
"http://repository.readscheme.org/ftp/papers/sw2003/macros.ps.gz">
|
|
ps</a> <a href=
|
|
"http://repository.readscheme.org/ftp/papers/sw2003/macros.pdf">
|
|
pdf</a>.
|
|
</li>
|
|
<li>R. Kent Dybvig, Daniel P. Friedman and Christopher
|
|
T. Haynes. "Expansion-Passing Style: A General Macro
|
|
Mechanism". <em>LISP and Symbolic Computation</em>.
|
|
1(1). June 1988. Available online: <a href=
|
|
"http://www.brics.dk/~hosc/local/LaSC-1-1-pp53-75.pdf">
|
|
pdf</a>.
|
|
</li>
|
|
<li>Matthew Flatt. "Composable and Compilable Macros:
|
|
You Want it When?". <em>International Conference on
|
|
Functional Programming (ICFP'2002)</em>. 2002.
|
|
Available online: <a href=
|
|
"http://www.cs.utah.edu/plt/publications/macromod.pdf">
|
|
pdf</a>.
|
|
</li>
|
|
<li>Oleg Kiselyov. "How to write seemingly unhygienic
|
|
and referentially opaque macros with syntax-rules".
|
|
<em>Workshop on Scheme and Functional Programming
|
|
(2002)</em>. October 2002. Available online: <a href=
|
|
"http://repository.readscheme.org/ftp/papers/sw2002/kiselyov.ps.gz">
|
|
ps</a> <a href=
|
|
"http://repository.readscheme.org/ftp/papers/sw2002/kiselyov.pdf">
|
|
pdf</a> <a href=
|
|
"http://repository.readscheme.org/ftp/papers/sw2002/kiselyov-talk.pdf">
|
|
talk (pdf)</a>.
|
|
</li>
|
|
<li>Oleg Kiselyov. "Macros that Compose: Systematic
|
|
Macro Programming". <em>Generative Programming and
|
|
Component Engineering (GPCE'02)</em>. October 2002.
|
|
Available online: <a href=
|
|
"http://okmij.org/ftp/papers/CPS-Macros.ps.gz">ps</a>
|
|
<a href="http://okmij.org/ftp/papers/Macros-talk.pdf">
|
|
talk (pdf)</a>.
|
|
</li>
|
|
<li>Donovan Kolbly. "Extensible Language
|
|
Implementation". PhD. Thesis. University of Texas.
|
|
September 2002. Available online: <a href=
|
|
"http://www.cs.utexas.edu/ftp/pub/techreports/tr02-71.ps.gz">
|
|
ps</a>.
|
|
</li>
|
|
<li>Eugene E. Kohlbecker. "Syntactic Extensions in the
|
|
Programming Language Lisp". PhD. Thesis. Indiana
|
|
University. 1986. Available online: <a href=
|
|
"http://repository.readscheme.org/ftp/papers/kohlbecker_phdthesis.pdf">
|
|
pdf</a>.
|
|
</li>
|
|
<li>Eugene E. Kohlbecker, Daniel P. Friedman, Matthias
|
|
Felleisen and Bruce F. Duba. "Hygienic macro
|
|
expansion". <em>Proceedings of the 1986 ACM Conference
|
|
on LISP and Functional Programming</em>. 1986.
|
|
Available online: <a href=
|
|
"http://portal.acm.org/citation.cfm?id=319859">ACM
|
|
Digital Library</a>.
|
|
</li>
|
|
<li>Eugene E. Kohlbecker and Mitchell Wand.
|
|
"Macro-by-example: Deriving syntactic transformations
|
|
from their specifications". <em>Fourteenth Annual ACM
|
|
SIGACT-SIGPLAN Symposium on Principles of programming
|
|
languages</em>. January 1987. Available online:
|
|
<a href="http://www.acm.org/pubs/citations/proceedings/plan/41625/p77-kohlbecker/">
|
|
ACM Digital Library</a>.
|
|
</li>
|
|
<li>Ana Bove and Laura Arbilla. "A confluent calculus
|
|
of Macro expansion and evaluation". <em>1992 ACM
|
|
conference on LISP and functional programming</em>.
|
|
1992. Available online: <a href=
|
|
"http://doi.acm.org/10.1145/141471.141562">ACM Digital
|
|
Library</a>.
|
|
</li>
|
|
<li>Alan Bawden and Jonathan A. Rees. "Syntactic
|
|
Closures". MIT AI Lab. AI Lab Memo AIM-1049. June 1988.
|
|
Available online: <a href=
|
|
"ftp://publications.ai.mit.edu/ai-publications/1000-1499/AIM-1049.ps">
|
|
ps</a> <a href=
|
|
"ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-1049.pdf">
|
|
pdf</a>.
|
|
</li>
|
|
<li>Alan Bawden and Jonathan A. Rees. "Syntactic
|
|
closures". <em>Proceedings of the 1988 ACM Conference
|
|
on Lisp and Functional Programming</em>. July 1988.
|
|
Available online: <a href=
|
|
"http://www.acm.org/pubs/citations/proceedings/lfp/62678/p86-bawden/">
|
|
ACM Digital Library</a>.
|
|
</li>
|
|
<li>William D. Clinger. "Macros in Scheme". <em>Lisp
|
|
Pointers</em>. IV(4). December 1991. Available online:
|
|
<a href=
|
|
"ftp://ftp.cs.indiana.edu/pub/scheme-repository/doc/prop/macinsch.ps.gz">
|
|
ps</a>.
|
|
</li>
|
|
<li>William D. Clinger. "Hygienic macros through
|
|
explicit renaming". <em>Lisp Pointers</em>. IV(4).
|
|
December 1991. Available online: <a href=
|
|
"ftp://ftp.cs.indiana.edu/pub/scheme-repository/doc/prop/exrename.ps.gz">
|
|
ps</a>.
|
|
</li>
|
|
<li>William D. Clinger and Jonathan A. Rees. "Macros
|
|
that work". <em>Conference Record of the Eighteenth
|
|
Annual ACM Symposium on Principles of Programming
|
|
Languages</em>. January 1991. Available online:
|
|
<a href="http://www.acm.org/pubs/citations/proceedings/plan/99583/p155-clinger/">
|
|
ACM Digital Library</a>.
|
|
</li>
|
|
<li>Jonathan A. Rees. "Implementing lexically scoped
|
|
macros". <em>Lisp Pointers</em>. 'The Scheme of Things'
|
|
(column). 1993. Available online: <a href=
|
|
"http://mumble.net/~jar/pubs/scheme-of-things/easy-macros.ps">
|
|
ps</a>.
|
|
</li>
|
|
<li>R. Kent Dybvig. "Writing Hygenic Macros in Scheme
|
|
with Syntax-Case". Computer Science Department, Indiana
|
|
University. TR-356. June 1992. Available online:
|
|
<a href=
|
|
"ftp://ftp.cs.indiana.edu/pub/scheme-repository/doc/pubs/iucstr356.ps.gz">
|
|
ps</a>.
|
|
</li>
|
|
<li>Robert Hieb, R. Kent Dybvig and Carl Bruggeman.
|
|
"Syntactic Abstraction in Scheme". Computer Science
|
|
Department, Indiana University. TR-355. June 1992.
|
|
Available online: <a href=
|
|
"ftp://ftp.cs.indiana.edu/pub/scheme-repository/doc/pubs/iucstr355.ps.gz">
|
|
ps</a>.
|
|
</li>
|
|
<li>Oscar Waddell and R. Kent Dybvig. "Extending the
|
|
Scope of Syntactic Abstraction". <em>Conference Record
|
|
of POPL'99: The 26th ACM SIGPLAN-SIGACT Symposium on
|
|
Principles of Programming Languages</em>. January 1999.
|
|
Available online: <a href=
|
|
"http://www.cs.indiana.edu/~dyb/papers/popl99.ps.gz">ps</a>.
|
|
</li>
|
|
<li>Oscar Waddell. "Extending the Scope of Syntactic
|
|
Abstraction". PhD. Thesis. Indiana University Computer
|
|
Science Department. August 1999. Available online:
|
|
<a href=
|
|
"http://www.cs.indiana.edu/~owaddell/papers/thesis.ps.gz">
|
|
ps</a>.
|
|
</li>
|
|
<li>R. Kent Dybvig, Robert Hieb and Carl Bruggeman.
|
|
"Syntactic abstraction in Scheme". <em>Lisp and
|
|
Symbolic Computation</em>. 5, 4. December 1993.
|
|
Available online: <a href=
|
|
"http://www.cs.indiana.edu/~dyb/papers/syntactic.ps.gz">
|
|
ps</a>.
|
|
</li>
|
|
<li>R. Kent Dybvig, Daniel P. Friedman and Christopher
|
|
T. Haynes. "Expansion-Passing Style: A General Macro
|
|
Mechanism". <em>Lisp and Symbolic Computation</em>. 1,
|
|
1. June 1988. Available online: <a href=
|
|
"http://www.cs.indiana.edu/~dyb/papers/eps.ps">ps</a>.
|
|
</li>
|
|
<li>R. Kent Dybvig, Daniel P. Friedman and Christopher
|
|
T. Haynes. "Expansion-Passing style: Beyond
|
|
Conventional Macros". <em>Conference Record of the 1986
|
|
ACM Conference on Lisp and Functional Programming</em>.
|
|
1986. Available online: <a href=
|
|
"http://portal.acm.org/citation.cfm?id=319858&coll=portal">
|
|
ACM Digital Library</a>.
|
|
</li>
|
|
<li>Erik Hilsdale and Daniel P. Friedman. "Writing
|
|
macros in continuation-passing style". <em>Scheme and
|
|
Functional Programming 2000</em>. September 2000.
|
|
Available online: <a href=
|
|
"http://repository.readscheme.org/ftp/papers/sw2000/hilsdale.ps.gz">
|
|
ps</a> <a href=
|
|
"http://repository.readscheme.org/ftp/papers/sw2000/hilsdale.pdf">
|
|
pdf</a>.
|
|
</li>
|
|
<li>Oleg Kiselyov. "Re-writing abstractions, or Lambda:
|
|
the ultimate pattern macro". December 2001. Available
|
|
online: <a href=
|
|
"http://pobox.com/~oleg/ftp/Computation/rewriting-rule-lambda.txt">
|
|
html</a>.
|
|
</li>
|
|
<li>Stephen Paul Carl. "Syntactic Exposures - A
|
|
Lexically-Scoped Macro Facility for Extensible
|
|
Compilers". Masters Thesis. December 1996. Available
|
|
online: <a href=
|
|
"ftp://ftp.cs.utexas.edu/pub/garbage/carl-msthesis.ps">
|
|
ps</a>.
|
|
</li>
|
|
<li>Shriram Krishnamurthi, Matthias Felleisen and Bruce
|
|
F. Duba. "From Macros to Reusable Generative
|
|
Programming". Rice University. TR 00-364. 2000.
|
|
Available online: <a href=
|
|
"http://www.ccs.neu.edu/scheme/pubs/tr00-364.ps.gz">ps</a>.
|
|
</li>
|
|
<li>Shriram Krishnamurthi. "Linguistic Reuse". PhD.
|
|
Thesis. Rice University. Available online: <a href=
|
|
"http://www.ccs.neu.edu/scheme/pubs/thesis-shriram.ps.gz">
|
|
ps</a>.
|
|
</li>
|
|
<li>Jonathan A. Rees. "Modular Macros". Masters Thesis.
|
|
MIT. 1989.
|
|
</li>
|
|
<li>Matthias Blume. "Refining Hygienic Macros for
|
|
Modules and Separate Compilation". ATR Human
|
|
Information Processing Research Laboratories, Kyoto.
|
|
ATR Technical Report TR-H-171. 1995. Available online:
|
|
<a href=
|
|
"http://ttic.uchicago.edu/~blume/papers/hygmac.pdf">pdf</a>.
|
|
</li>
|
|
<li>Alan Bawden. "First-class macros have types". <em>
|
|
POPL '00: 27th ACM Symp. Princ. of Prog. Langs.</em>.
|
|
2000. Available online: <a href=
|
|
"http://people.csail.mit.edu/alan/mtt/popl00.ps.gz">ps</a>
|
|
<a href=
|
|
"http://people.csail.mit.edu/alan/mtt/popl00.pdf">pdf</a>.
|
|
</li>
|
|
<li>Christian Queinnec and Julian Padget. "Modules,
|
|
macros and Lisp". <em>Eleventh International Conference
|
|
of the Chilean Computer Science Society</em>. October
|
|
1991. Available online: <a href=
|
|
"http://pagesperso-systeme.lip6.fr/Christian.Queinnec/Papers/chili.ps.gz">
|
|
ps</a>.
|
|
</li>
|
|
<li>Christian Queinnec and Julian Padget. "A proposal
|
|
for a modular Lisp with macros and dynamic evaluation".
|
|
<em>Journées de Travail sur l'Analyse Statique en
|
|
Programmation Équationnelle, Fonctionnelle et
|
|
Logique</em>. October 1991. Available online: .
|
|
</li>
|
|
<li>Christian Queinnec and Julian Padget. "A
|
|
deterministic model for modules and macros". University
|
|
of Bath. Bath Computing Group Technical Report 90-36.
|
|
1990. Available online: <a href=
|
|
"http://pagesperso-systeme.lip6.fr/Christian.Queinnec/Papers/modmac2.ps.gz">
|
|
ps</a>.
|
|
</li>
|
|
<li>Chris Hanson. "A Syntactic Closures Macro
|
|
Facility". <em>Lisp Pointers</em>. IV. 4.
|
|
October-December 1991. Available online: <a href=
|
|
"http://www.swiss.ai.mit.edu/ftpdir/users/cph/macros/prop.ps.gz">
|
|
ps</a>.
|
|
</li>
|
|
<li>Jean-Pierre Briot, Pierre Cointe and Emmanuel
|
|
Saint-James. "Reécriture et récursion dans une
|
|
fermeture - Etude dans un Lisp à liaison superficielle
|
|
- Application aux objets". <em>Actes des Journées
|
|
AFCET-Informatique Langages Orientés Objet,
|
|
BIGRE+Globule</em>. 48. January 1986.
|
|
</li>
|
|
<li>Shriram Krishnamurthi. "Automata as Macros".
|
|
<em>Journal of Functional Programming</em>. 2005.
|
|
Available online: <a href=
|
|
"http://www.cs.brown.edu/~sk/Publications/Papers/Published/sk-automata-macros/">
|
|
downloadable paper</a>.
|
|
</li>
|
|
<li>Ryan Culpepper, Sam Tobin-Hochstadt and Matthew
|
|
Flatt. "Advanced Macrology and the Implementation of
|
|
Typed Scheme". <em>2007 Workshop on Scheme and
|
|
Functional Programming</em>. September 2007. Available
|
|
online: <a href=
|
|
"http://repository.readscheme.org/ftp/papers/sw2007/01-culpepper.pdf">
|
|
pdf</a>.
|
|
</li>
|
|
<li>Keeping it Clean with syntax-parameterize. "Eli
|
|
Barzilay, Ryan Culpepper, Matthew Flatt". <em>2011
|
|
Workshop on Scheme and Functional Programming</em>.
|
|
October 2011. Available online: <a href=
|
|
"http://repository.readscheme.org/ftp/papers/sw2011/07-barzilay.pdf">
|
|
pdf</a>.
|
|
</li>
|
|
</ul>
|
|
<p>
|
|
<img width="1" height="40" border="0" src=
|
|
"./imgs/dot_clear.gif">
|
|
</p>
|
|
<div class="collophon" align="right">
|
|
Last modified: Saturday, August 11th, 2012
|
|
4:55:45pm<br>
|
|
HTML generated using <a href=
|
|
"http://celtic.benderweb.net/webit/">WebIt!</a>.
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</body>
|
|
</html>
|