{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,10]],"date-time":"2026-06-10T09:15:24Z","timestamp":1781082924474,"version":"3.54.1"},"publisher-location":"Berlin, Heidelberg","reference-count":33,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"value":"9783642390371","type":"print"},{"value":"9783642390388","type":"electronic"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2013]]},"DOI":"10.1007\/978-3-642-39038-8_3","type":"book-chapter","created":{"date-parts":[[2013,6,25]],"date-time":"2013-06-25T14:29:00Z","timestamp":1372170540000},"page":"52-78","source":"Crossref","is-referenced-by-count":49,"title":["Composition and Reuse with Compiled Domain-Specific Languages"],"prefix":"10.1007","author":[{"given":"Arvind K.","family":"Sujeeth","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Tiark","family":"Rompf","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Kevin J.","family":"Brown","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"HyoukJoong","family":"Lee","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Hassan","family":"Chafi","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Victoria","family":"Popic","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Michael","family":"Wu","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Aleksandar","family":"Prokopec","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Vojin","family":"Jovanovic","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Martin","family":"Odersky","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Kunle","family":"Olukotun","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","reference":[{"key":"3_CR1","doi-asserted-by":"crossref","unstructured":"Chafi, H., Sujeeth, A.K., Brown, K.J., Lee, H., Atreya, A.R., Olukotun, K.: A domain-specific approach to heterogeneous parallelism. In: PPoPP (2011)","DOI":"10.1145\/1941553.1941561"},{"key":"3_CR2","doi-asserted-by":"crossref","unstructured":"DeVito, Z., Joubert, N., Palacios, F., Oakley, S., Medina, M., Barrientos, M., Elsen, E., Ham, F., Aiken, A., Duraisamy, K., Darve, E., Alonso, J., Hanrahan, P.: Liszt: A domain specific language for building portable mesh-based PDE solvers. In: SC (2011)","DOI":"10.1145\/2063384.2063396"},{"key":"3_CR3","doi-asserted-by":"crossref","unstructured":"Hong, S., Chafi, H., Sedlar, E., Olukotun, K.: Green-marl: A DSL for easy and efficient graph analysis. In: ASPLOS (2012)","DOI":"10.1145\/2150976.2151013"},{"key":"3_CR4","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"9","DOI":"10.1007\/3-540-45350-4_5","volume-title":"Semantics, Applications, and Implementation of Program Generation","author":"C. Elliott","year":"2000","unstructured":"Elliott, C., Finne, S., de Moor, O.: Compiling embedded languages. In: Taha, W. (ed.) SAIG 2000. LNCS, vol.\u00a01924, pp. 9\u201326. Springer, Heidelberg (2000)"},{"key":"3_CR5","doi-asserted-by":"crossref","first-page":"109","DOI":"10.1145\/331960.331977","volume-title":"DSL","author":"D. Leijen","year":"1999","unstructured":"Leijen, D., Meijer, E.: Domain specific embedded compilers. In: DSL, pp. 109\u2013122. ACM, New York (1999)"},{"key":"3_CR6","first-page":"67","volume-title":"Haskell 2010","author":"G. Mainland","year":"2010","unstructured":"Mainland, G., Morrisett, G.: Nikola: embedding compiled GPU functions in haskell. In: Haskell 2010, pp. 67\u201378. ACM, New York (2010)"},{"key":"3_CR7","first-page":"47","volume-title":"PPoPP","author":"B. Catanzaro","year":"2011","unstructured":"Catanzaro, B., Garland, M., Keutzer, K.: Copperhead: compiling an embedded data parallel language. In: PPoPP, pp. 47\u201356. ACM, New York (2011)"},{"key":"3_CR8","doi-asserted-by":"crossref","unstructured":"Brown, K.J., Sujeeth, A.K., Lee, H., Rompf, T., Chafi, H., Odersky, M., Olukotun, K.: A heterogeneous parallel framework for domain-specific languages. In: PACT (2011)","DOI":"10.1109\/PACT.2011.15"},{"key":"3_CR9","doi-asserted-by":"crossref","first-page":"127","DOI":"10.1145\/1868294.1868314","volume-title":"GPCE","author":"T. Rompf","year":"2010","unstructured":"Rompf, T., Odersky, M.: Lightweight modular staging: a pragmatic approach to runtime code generation and compiled DSLs. In: GPCE, pp. 127\u2013136. ACM, New York (2010)"},{"key":"3_CR10","doi-asserted-by":"crossref","unstructured":"Rompf, T., Sujeeth, A.K., Lee, H., Brown, K.J., Chafi, H., Odersky, M., Olukotun, K.: Building-blocks for performance oriented DSLs. In: DSL (2011)","DOI":"10.4204\/EPTCS.66.5"},{"key":"3_CR11","unstructured":"Sujeeth, A.K., Lee, H., Brown, K.J., Rompf, T., Wu, M., Atreya, A.R., Odersky, M., Olukotun, K.: OptiML: an implicitly parallel domain-specific language for machine learning. In: ICML (2011)"},{"issue":"1-2","key":"3_CR12","doi-asserted-by":"publisher","first-page":"211","DOI":"10.1016\/S0304-3975(00)00053-0","volume":"248","author":"W. Taha","year":"2000","unstructured":"Taha, W., Sheard, T.: MetaML and multi-stage programming with explicit annotations. Theor. Comput. Sci.\u00a0248(1-2), 211\u2013242 (2000)","journal-title":"Theor. Comput. Sci."},{"key":"3_CR13","doi-asserted-by":"crossref","unstructured":"Moors, A., Rompf, T., Haller, P., Odersky, M.: Scala-virtualized. In: PEPM (2012)","DOI":"10.1145\/2103746.2103769"},{"key":"3_CR14","doi-asserted-by":"crossref","unstructured":"Rompf, T., Sujeeth, A.K., Amin, N., Brown, K., Jovanovic, V., Lee, H., Jonnalagedda, M., Olukotun, K., Odersky, M.: Optimizing data structures in high-level programs. In: POPL (2013)","DOI":"10.1145\/2429069.2429128"},{"key":"3_CR15","first-page":"706","volume-title":"SIGMOD","author":"E. Meijer","year":"2006","unstructured":"Meijer, E., Beckman, B., Bierman, G.: LINQ: Reconciling object, relations and XML in the .NET framework. In: SIGMOD, p. 706. ACM, New York (2006)"},{"key":"3_CR16","unstructured":"Page, L., Brin, S., Motwani, R., Winograd, T.: The pagerank citation ranking: Bringing order to the web. Technical Report 1999-66, Stanford InfoLab (November 1999), Previous number = SIDL-WP-1999-0120"},{"key":"3_CR17","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"136","DOI":"10.1007\/978-3-642-23397-5_14","volume-title":"Euro-Par 2011 Parallel Processing","author":"A. Prokopec","year":"2011","unstructured":"Prokopec, A., Bagwell, P., Rompf, T., Odersky, M.: A generic parallel collection framework. In: Jeannot, E., Namyst, R., Roman, J. (eds.) Euro-Par 2011, Part II. LNCS, vol.\u00a06853, pp. 136\u2013147. Springer, Heidelberg (2011)"},{"key":"3_CR18","first-page":"36","volume-title":"JAVA 2000","author":"D. Lea","year":"2000","unstructured":"Lea, D.: A java fork\/join framework. In: JAVA 2000, pp. 36\u201343. ACM, New York (2000)"},{"key":"3_CR19","first-page":"177","volume-title":"WSDM 2011","author":"J. Yang","year":"2011","unstructured":"Yang, J., Leskovec, J.: Patterns of temporal variation in online media. In: WSDM 2011, pp. 177\u2013186. ACM, New York (2011)"},{"key":"3_CR20","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"121","DOI":"10.1007\/978-3-642-24276-2_8","volume-title":"Implementation and Application of Functional Languages","author":"E. Axelsson","year":"2011","unstructured":"Axelsson, E., Claessen, K., Sheeran, M., Svenningsson, J., Engdal, D., Persson, A.: The design and implementation of feldspar: An embedded language for digital signal processing. In: Hage, J., Moraz\u00e1n, M.T. (eds.) IFL 2010. LNCS, vol.\u00a06647, pp. 121\u2013136. Springer, Heidelberg (2011)"},{"key":"3_CR21","doi-asserted-by":"crossref","first-page":"111","DOI":"10.1145\/2254064.2254079","volume-title":"PLDI","author":"C. Chiw","year":"2012","unstructured":"Chiw, C., Kindlmann, G., Reppy, J., Samuels, L., Seltzer, N.: Diderot: a parallel DSL for image analysis and visualization. In: PLDI, pp. 111\u2013120. ACM, New York (2012)"},{"issue":"2","key":"3_CR22","doi-asserted-by":"publisher","first-page":"232","DOI":"10.1109\/JPROC.2004.840306","volume":"93","author":"M. P\u00fcschel","year":"2005","unstructured":"P\u00fcschel, M., Moura, J., Johnson, J., Padua, D., Veloso, M., Singer, B., Xiong, J., Franchetti, F., Gacic, A., Voronenko, Y., Chen, K., Johnson, R., Rizzolo, N.: Spiral: Code generation for DSP transforms. Proceedings of the IEEE\u00a093(2), 232\u2013275 (2005)","journal-title":"Proceedings of the IEEE"},{"key":"3_CR23","doi-asserted-by":"crossref","unstructured":"Franchetti, F., Voronenko, Y., P\u00fcschel, M.: Formal loop merging for signal transforms. In: PLDI, pp. 315\u2013326 (2005)","DOI":"10.1145\/1064978.1065048"},{"key":"3_CR24","doi-asserted-by":"crossref","unstructured":"Giarrusso, P.G., Ostermann, K., Eichberg, M., Mitschke, R., Rendel, T., K\u00e4stner, C.: Reify your collection queries for modularity and speed! In: AOSD (2013)","DOI":"10.1145\/2451436.2451438"},{"key":"3_CR25","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"69","DOI":"10.1007\/11557432_6","volume-title":"Model Driven Engineering Languages and Systems","author":"J. Estublier","year":"2005","unstructured":"Estublier, J., Vega, G., Ionita, A.D.: Composing domain-specific languages for wide-scope software engineering applications. In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol.\u00a03713, pp. 69\u201383. Springer, Heidelberg (2005)"},{"key":"3_CR26","doi-asserted-by":"crossref","unstructured":"Dinkelaker, T., Eichberg, M., Mezini, M.: An architecture for composing embedded domain-specific languages. In: AOSD, pp. 49\u201360. ACM (2010)","DOI":"10.1145\/1739230.1739237"},{"key":"3_CR27","first-page":"197","volume-title":"EuroSys 2012","author":"Z. Qian","year":"2012","unstructured":"Qian, Z., Chen, X., Kang, N., Chen, M., Yu, Y., Moscibroda, T., Zhang, Z.: Madlinq: large-scale distributed matrix computation for the cloud. In: EuroSys 2012, pp. 197\u2013210. ACM, New York (2012)"},{"key":"3_CR28","doi-asserted-by":"publisher","first-page":"987","DOI":"10.1145\/1559845.1559962","volume-title":"SIGMOD","author":"M. Isard","year":"2009","unstructured":"Isard, M., Yu, Y.: Distributed data-parallel computing using a high-level programming language. In: SIGMOD, pp. 987\u2013994. ACM, New York (2009)"},{"issue":"1","key":"3_CR29","doi-asserted-by":"publisher","first-page":"48","DOI":"10.1145\/2063176.2063195","volume":"55","author":"M. Flatt","year":"2012","unstructured":"Flatt, M.: Creating languages in racket. Commun. ACM\u00a055(1), 48\u201356 (2012)","journal-title":"Commun. ACM"},{"key":"3_CR30","first-page":"444","volume-title":"OOPSLA 2010","author":"L.C. Kats","year":"2010","unstructured":"Kats, L.C., Visser, E.: The spoofax language workbench: rules for declarative specification of languages and IDEs. In: OOPSLA 2010, pp. 444\u2013463. ACM, New York (2010)"},{"key":"3_CR31","unstructured":"JetBrains: Meta Programming System (2009)"},{"issue":"3","key":"3_CR32","doi-asserted-by":"publisher","first-page":"387","DOI":"10.1109\/JPROC.2004.840447","volume":"93","author":"K. Kennedy","year":"2005","unstructured":"Kennedy, K., Broom, B., Chauhan, A., Fowler, R., Garvin, J., Koelbel, C., McCosh, C., Mellor-Crummey, J.: Telescoping languages: A system for automatic generation of domain languages. Proceedings of the IEEE\u00a093(3), 387\u2013408 (2005)","journal-title":"Proceedings of the IEEE"},{"key":"3_CR33","doi-asserted-by":"crossref","first-page":"107","DOI":"10.1145\/2047862.2047883","volume-title":"GPCE","author":"N. Nystrom","year":"2011","unstructured":"Nystrom, N., White, D., Das, K.: Firepile: run-time compilation for GPUs in scala. In: GPCE, pp. 107\u2013116. ACM, New York (2011)"}],"container-title":["Lecture Notes in Computer Science","ECOOP 2013 \u2013 Object-Oriented Programming"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-39038-8_3","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,7,2]],"date-time":"2023-07-02T16:00:23Z","timestamp":1688313623000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-39038-8_3"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2013]]},"ISBN":["9783642390371","9783642390388"],"references-count":33,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-39038-8_3","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2013]]}}}