References
1. Calcagno, C., taha, W., Huang, l.,
leroy, X. Implementing multi-stage
languages using asts, gensym, and
reflection. GPCE, F. Pfenning and y.
smaragdakis, eds. Volume 2830 of
Lecture Notes in Computer Science
(2003). springer, 57–76.
2. Carette, J. kiselyov, o., chieh shan, C.,
Finally tagless, partially evaluated:
tagless staged interpreters for
simpler typed languages. J. Funct.
Program. 19, 5 (2009), 509–543.
3. Cohen, a., donadio, s., Garzarán, M.J.,
Herrmann, C.a., kiselyov, o., Padua,
d.a. In search of a program generator
to implement generic transformations
for high-performance computing.
Sci. Comput. Program.
62, 1 (2006),
25–46.
4. Czarnecki, k., o’donnell, J.t., striegnitz,
J., taha, W., dsl implementation in
metaocaml, template haskell, and
c++. In Domain-Specific Program
Generation (2003), 51–72.
5. elliott, C., Finne, s., de Moor, o.
Compiling embedded languages.
J. Funct. Program. 13, 3 (2003),
455–481.
6. Frigo, M. a fast Fourier transform
compiler. In PLDI (1999), 169–180.
7. Guerrero, M., Pizzi, e., rosenbaum, r.,
swadi, k.n., taha, W. Implementing
dsls in metaocaml. OOPSLA
Companion, J. M. Vlissides and d. C.
schmidt, eds. (2004). aCM, 41–42.
8. Hofer, C., ostermann, k., rendel, t.,
Moors, a. Polymorphic embedding
of dsls. GPCE, y. smaragdakis and
J.G. siek, eds. (2008). aCM,
137–148.
9. Hudak, P. Modular domain specific
languages and tools. In Proceedings
of Fifth International Conference
on Software Reuse (June 1998),
134–142.
10. kameyama, y., kiselyov, o., chieh
shan, C. shifting the stage: staging
with delimited control. PEPM, G.
Puebla and G. Vidal, eds. (2009). aCM,
111–120.
11. kennedy, k., broom, b., Cooper, k.d.,
dongarra, J., Fowler, r.J., Gannon,
d., Johnsson, s.l., Mellor-Crummey,
J. M., torczon, l. telescoping
languages: a strategy for automatic
generation of scientific problem-solving systems from annotated
libraries. J. Parallel Distrib. Comput.
61, 12 (2001), 1803–1826.
12. kiselyov, o., swadi, k.n., taha, W. a
methodology for generating verified
combinatorial circuits. EMSOFT, G.C.
buttazzo, ed. (2004). aCM, 249–258.
13. lee, H., brown, k.J., sujeeth, a.k.,
Chafi, H., rompf, t., odersky, M.,
olukotun, k. Implementing domain-specific languages for heterogeneous
parallel computing. IEEE Micro 31, 5
(2011), 42–53.
14. leijen, d., Meijer, e. domain specific
embedded compilers. In DSL (1999),
109–122.
15. odersky, M., zenger, M. scalable
component abstractions. OOPSLA,
r. e. Johnson and r.P. Gabriel, eds.
(2005). aCM, 41–57.
16. Pfenning, F., elliott, C. Higher-order
abstract syntax. In PLDI (1988),
199–208.
17. Püschel, M., Moura, J.M. F., singer,
b., Xiong, J., Johnson, J., Padua,
d.a., Veloso, M.M., Johnson, r. W.
spiral: a generator for platform-
adapted libraries of signal processing
alogorithms. IJHPCA,
18, 1 (2004),
21–45.
Tiark Rompf ( tiark.rompf@epfl.ch), ePFl,
lausanne, switzerland.
© 2012 aCM 0001-0782/12/06 $10.00
staging memoized functions. PEPM,
J. Hatcliff and F. tip, eds. (2006).
aCM, 160–169.
22. taha, W., sheard, t. Metaml and
multi-stage programming with
explicit annotations. Theor. Comput.
Sci. 248( 1–2) (2000), 211–242.
23. Veldhuizen. t “expression templates,”
in stanley b. lippman (editor), C++
Gems (sIGs books and Multimedia,
1996), pp. 475–488
24. Veldhuizen, t.l. active libraries and
universal languages. Phd thesis,
Indiana university Computer science
(May 2004).
25. Whaley, r. C., Petitet, a., dongarra, J.
automated empirical optimizations
of software and the atlas project.
Parallel Comput. 27( 1–2) (2001),
3–35.
Martin Odersky ( martin.odersky@epfl.ch),
ePFl, lausanne, switzerland.
You’ve come a long way.
Share what you’ve learned.
ACM has partnered with MentorNet, the award-winning nonprofit e-mentoring network in engineering,
science and mathematics. MentorNet’s award-winning One-on-One Mentoring Programs pair ACM
student members with mentors from industry, government, higher education, and other sectors.
• Communicate by email about career goals, course work, and many other topics.
• Spend just
20 minutes a week - and make a huge difference in a student’s life.
• Take part in a lively online community of professionals and students all over the world.
Make a difference to a student in your field.
Sign up today at: www.mentornet.net
Find out more at: www.acm.org/mentornet
MentorNet’s sponsors include 3M Foundation, ACM, Alcoa Foundation, Agilent Technologies, Amylin Pharmaceuticals, Bechtel Group Foundation, Cisco
Systems, Hewlett-Packard Company, IBM Corporation, Intel Foundation, Lockheed Martin Space Systems, National Science Foundation, Naval Research
Laboratory, NVIDIA, Sandia National Laboratories, Schlumberger, S.D. Bechtel, Jr. Foundation, Texas Instruments, and The Henry Luce Foundation.