메뉴 건너뛰기




Volumn , Issue , 2010, Pages 127-136

Lightweight modular staging: A pragmatic approach to runtime code generation and compiled DSLs

Author keywords

Code generation; Domain specific languages; Language virtualization; Multi stage programming

Indexed keywords

CODE GENERATION; COMPONENT TECHNOLOGIES; DOMAIN SPECIFIC; DOMAIN SPECIFIC LANGUAGES; EMBEDDED LANGUAGES; GENERATION PROCESS; GENERATIVE PROGRAMMING; HIGH-QUALITY PROGRAMS; MULTI-STAGE PROGRAMMING; OPTIMIZING COMPILERS; RUN-TIME CODE GENERATION; VIRTUALIZATIONS;

EID: 78650151869     PISSN: None     EISSN: None     Source Type: Conference Proceeding    
DOI: 10.1145/1868294.1868314     Document Type: Conference Paper
Times cited : (219)

References (45)
  • 2
    • 35248851156 scopus 로고    scopus 로고
    • Implementing multistage languages using asts, gensym, and reflection
    • F. Pfenning and Y. Smaragdakis, editors Springer
    • C. Calcagno, W. Taha, L. Huang, and X. Leroy. Implementing multistage languages using asts, gensym, and reflection. In F. Pfenning and Y. Smaragdakis, editors, GPCE, volume 2830 of Lecture Notes in Computer Science, pages 57-76. Springer, 2003.
    • (2003) GPCE, Volume 2830 of Lecture Notes in Computer Science , pp. 57-76
    • Calcagno, C.1    Taha, W.2    Huang, L.3    Leroy, X.4
  • 3
    • 33646133205 scopus 로고    scopus 로고
    • Multi-stage programming with functors and monads: Eliminating abstraction overhead from generic code
    • R. Glück and M. R. Lowry, editors Springer
    • J. Carette and O. Kiselyov. Multi-stage programming with functors and monads: Eliminating abstraction overhead from generic code. In R. Glück and M. R. Lowry, editors, GPCE, volume 3676 of Lecture Notes in Computer Science, pages 256-274. Springer, 2005.
    • (2005) GPCE, Volume 3676 of Lecture Notes in Computer Science , pp. 256-274
    • Carette, J.1    Kiselyov, O.2
  • 4
    • 74149083935 scopus 로고    scopus 로고
    • Finally tagless, partially evaluated: Tagless staged interpreters for simpler typed languages
    • J. Carette, O. Kiselyov, and C. chieh Shan. Finally tagless, partially evaluated: Tagless staged interpreters for simpler typed languages. J. Funct. Program., 19(5):509-543, 2009.
    • (2009) J. Funct. Program. , vol.19 , Issue.5 , pp. 509-543
    • Carette, J.1    Kiselyov, O.2    Chieh Shan, C.3
  • 6
    • 84976803340 scopus 로고
    • Global code motion/global value mumbering
    • C. Click. Global code motion/global value mumbering. In PLDI, pages 246-257, 1995.
    • (1995) PLDI , pp. 246-257
    • Click, C.1
  • 8
    • 33745665061 scopus 로고    scopus 로고
    • In search of a program generator to implement generic transformations for high-performance computing
    • A. Cohen, S. Donadio, M. J. Garzarán, C. A. Herrmann, O. Kiselyov, and D. A. Padua. In search of a program generator to implement generic transformations for high-performance computing. Sci. Cornput. Program., 62(1):25-46, 2006.
    • (2006) Sci. Cornput. Program. , vol.62 , Issue.1 , pp. 25-46
    • Cohen, A.1    Donadio, S.2    Garzarán, M.J.3    Herrmann, C.A.4    Kiselyov, O.5    Padua, D.A.6
  • 15
    • 0028022240 scopus 로고
    • Representing monads
    • A. Filinski. Representing monads. In POPL, pages 446-457, 1994.
    • (1994) POPL , pp. 446-457
    • Filinski, A.1
  • 16
    • 77950888172 scopus 로고    scopus 로고
    • Monads in action
    • M. V. Hermenegildo and J. Palsberg, editors ACM
    • A. Filinski. Monads in action. In M. V. Hermenegildo and J. Palsberg, editors, POPL, pages 483-494. ACM, 2010.
    • (2010) POPL , pp. 483-494
    • Filinski, A.1
  • 17
    • 0027805209 scopus 로고
    • The essence of compiling with continuations
    • C. Flanagan, A. Sabry, B. F. Duba, and M. Felleisen. The essence of compiling with continuations. In PLDI, pages 237-247, 1993.
    • (1993) PLDI , pp. 237-247
    • Flanagan, C.1    Sabry, A.2    Duba, B.F.3    Felleisen, M.4
  • 18
    • 0348209599 scopus 로고    scopus 로고
    • A fast fourier transform compiler
    • M. Frigo. A fast fourier transform compiler. In PLDI, pages 169-180, 1999.
    • (1999) PLDI , pp. 169-180
    • Frigo, M.1
  • 19
    • 78650162964 scopus 로고    scopus 로고
    • Implementing dsls in metaocaml
    • J. M. Vlissides and D. C. Schmidt, editors ACM
    • M. Guerrero, E. Pizzi, R. Rosenbaum, K. N. Swadi, and W. Taha. Implementing dsls in metaocaml. In J. M. Vlissides and D. C. Schmidt, editors, OOPSLA Companion, pages 41-42. ACM, 2004.
    • (2004) OOPSLA Companion , pp. 41-42
    • Guerrero, M.1    Pizzi, E.2    Rosenbaum, R.3    Swadi, K.N.4    Taha, W.5
  • 20
    • 63449137141 scopus 로고    scopus 로고
    • Polymorphic embedding of dsls
    • Y. Smaragdakis and J. G. Siek, editors ACM
    • C. Hofer, K. Ostermann, T. Rendel, and A. Moors. Polymorphic embedding of dsls. In Y. Smaragdakis and J. G. Siek, editors, GPCE, pages 137-148. ACM, 2008.
    • (2008) GPCE , pp. 137-148
    • Hofer, C.1    Ostermann, K.2    Rendel, T.3    Moors, A.4
  • 22
    • 84976713532 scopus 로고
    • Compilers and staging transformations
    • U. Jørring and W. L. Scherlis. Compilers and staging transformations. In POPL, pages 86-96, 1986.
    • (1986) POPL , pp. 86-96
    • Jørring, U.1    Scherlis, W.L.2
  • 23
    • 67650699577 scopus 로고    scopus 로고
    • Closing the stage: From staged code to typed closures
    • R. Glück and O. de Moor, editors ACM
    • Y Kameyama, O. Kiselyov, and C. chieh Shan. Closing the stage: from staged code to typed closures. In R. Glück and O. de Moor, editors, PEPM, pages 147-157. ACM, 2008.
    • (2008) PEPM , pp. 147-157
    • Kameyama, Y.1    Kiselyov, O.2    Chieh Shan, C.3
  • 24
    • 67650652691 scopus 로고    scopus 로고
    • Shifting the stage: Staging with delimited control
    • G. Puebla and G. Vidal, editors ACM
    • Y Kameyama, O. Kiselyov, and C. chieh Shan. Shifting the stage: staging with delimited control. In G. Puebla and G. Vidal, editors, PEPM, pages 111-120. ACM, 2009.
    • (2009) PEPM , pp. 111-120
    • Kameyama, Y.1    Kiselyov, O.2    Chieh Shan, C.3
  • 26
    • 24944568375 scopus 로고    scopus 로고
    • A methodology for generating verified combinatorial circuits
    • G. C. Buttazzo, editor ACM
    • O. Kiselyov, K. N. Swadi, and W. Taha. A methodology for generating verified combinatorial circuits. In G. C. Buttazzo, editor, EMSOFT, pages 249-258. ACM, 2004.
    • (2004) EMSOFT , pp. 249-258
    • Kiselyov, O.1    Swadi, K.N.2    Taha, W.3
  • 27
    • 0342664664 scopus 로고    scopus 로고
    • Domain specific embedded compilers
    • D. Leijen and E. Meijer. Domain specific embedded compilers. In DSL, pages 109-122, 1999.
    • (1999) DSL , pp. 109-122
    • Leijen, D.1    Meijer, E.2
  • 28
    • 78650135889 scopus 로고    scopus 로고
    • Domain-specific program generation, international seminar
    • C. Lengauer, D. S. Batory, C. Consel, and M. Odersky, editors Dagstuhl Castle, Germany, March 23-28 Springer
    • C. Lengauer, D. S. Batory, C. Consel, and M. Odersky, editors. Domain-Specific Program Generation, International Seminar, Dagstuhl Castle, Germany, March 23-28, 2003, Revised Papers, volume 3016 of Lecture Notes in Computer Science, 2004. Springer.
    • (2003) Revised Papers, Volume 3016 of Lecture Notes in Computer Science
  • 29
    • 63749095092 scopus 로고    scopus 로고
    • Generics of a higher kind
    • G. E. Harris, editor ACM
    • A. Moors, F. Piessens, and M. Odersky. Generics of a higher kind. In G. E. Harris, editor, OOPSLA, pages 423-438. ACM, 2008.
    • (2008) OOPSLA , pp. 423-438
    • Moors, A.1    Piessens, F.2    Odersky, M.3
  • 30
    • 31744447555 scopus 로고    scopus 로고
    • Scalable component abstractions
    • R. E. Johnson and R. P. Gabriel, editors ACM
    • M. Odersky and M. Zenger. Scalable component abstractions. In R. E. Johnson and R. P. Gabriel, editors, OOPSLA, pages 41-57. ACM, 2005.
    • (2005) OOPSLA , pp. 41-57
    • Odersky, M.1    Zenger, M.2
  • 31
    • 84956694006 scopus 로고
    • Higher-order abstract syntax
    • F. Pfenning and C. Elliott. Higher-order abstract syntax. In PLDI, pages 199-208, 1988.
    • (1988) PLDI , pp. 199-208
    • Pfenning, F.1    Elliott, C.2
  • 33
  • 34
    • 0036983358 scopus 로고    scopus 로고
    • Template meta-programming for haskell
    • T. Sheard and S. L. P. Jones. Template meta-programming for haskell. SIGPLAN Notices, 37(12):60-75, 2002.
    • (2002) SIGPLAN Notices , vol.37 , Issue.12 , pp. 60-75
    • Sheard, T.1    Jones, S.L.P.2
  • 35
    • 17644417874 scopus 로고    scopus 로고
    • Dsl implementation using staging and monads
    • T. Sheard, Z.-E.-A. Benaissa, and E. Pasalic. Dsl implementation using staging and monads. In DSL, pages 81-94, 1999.
    • (1999) DSL , pp. 81-94
    • Sheard, T.1    Benaissa, Z.-E.-A.2    Pasalic, E.3
  • 36
    • 34250646270 scopus 로고    scopus 로고
    • A monadic approach for avoiding code duplication when staging memoized functions
    • J. Hatcliff and F. Tip, editors ACM
    • K. N. Swadi, W. Taha, O. Kiselyov, and E. Pasalic. A monadic approach for avoiding code duplication when staging memoized functions. In J. Hatcliff and F. Tip, editors, PEPM, pages 160-169. ACM, 2006.
    • (2006) PEPM , pp. 160-169
    • Swadi, K.N.1    Taha, W.2    Kiselyov, O.3    Pasalic, E.4
  • 37
    • 0033691593 scopus 로고    scopus 로고
    • A sound reduction semantics for untyped cbn multi-stage computation, or, the theory of metaml is non-trivial
    • (extended abstract)
    • W. Taha. A sound reduction semantics for untyped cbn multi-stage computation, or, the theory of metaml is non-trivial (extended abstract). In PEPM, pages 34-43, 2000.
    • (2000) PEPM , pp. 34-43
    • Taha, W.1
  • 38
    • 0013091874 scopus 로고    scopus 로고
    • Metaml and multi-stage programming with explicit annotations
    • W. Taha and T. Sheard. Metaml and multi-stage programming with explicit annotations. Theor. Comput. Sci., 248(1-2):211-242, 2000.
    • (2000) Theor. Comput. Sci. , vol.248 , Issue.1-2 , pp. 211-242
    • Taha, W.1    Sheard, T.2
  • 41
    • 84947558148 scopus 로고    scopus 로고
    • Arrays in blitz++
    • D. Caromel, R. R. Oldehoeft, and M. Tholburn, editors Springer
    • T. L. Veldhuizen. Arrays in blitz++. In D. Caromel, R. R. Oldehoeft, and M. Tholburn, editors, ISCOPE, volume 1505 of Lecture Notes in Computer Science, pages 223-230. Springer, 1998.
    • (1998) ISCOPE, Volume 1505 of Lecture Notes in Computer Science , pp. 223-230
    • Veldhuizen, T.L.1
  • 45
    • 0343462141 scopus 로고    scopus 로고
    • Automated empirical optimizations of software and the atlas project
    • R. C. Whaley, A. Petitet, and J. Dongarra. Automated empirical optimizations of software and the atlas project. Parallel Computing, 27(1-2):3-35, 2001.
    • (2001) Parallel Computing , vol.27 , Issue.1-2 , pp. 3-35
    • Whaley, R.C.1    Petitet, A.2    Dongarra, J.3


* 이 정보는 Elsevier사의 SCOPUS DB에서 KISTI가 분석하여 추출한 것입니다.