{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,10]],"date-time":"2026-06-10T09:15:21Z","timestamp":1781082921219,"version":"3.54.1"},"reference-count":91,"publisher":"Association for Computing Machinery (ACM)","issue":"OOPSLA","license":[{"start":{"date-parts":[[2018,10,24]],"date-time":"2018-10-24T00:00:00Z","timestamp":1540339200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by-nc-sa\/4.0\/"}],"funder":[{"DOI":"10.13039\/501100002347","name":"Bundesministerium f\u00fcr Bildung und Forschung","doi-asserted-by":"publisher","award":["Metacca & ProThOS"],"award-info":[{"award-number":["Metacca & ProThOS"]}],"id":[{"id":"10.13039\/501100002347","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100010976","name":"Intel Visual Computing Institute, Universit\u00e4t des Saarlandes","doi-asserted-by":"publisher","id":[{"id":"10.13039\/501100010976","id-type":"DOI","asserted-by":"publisher"}]},{"name":"Cluster of Excellence on Multimodal Computing and Interaction, Saarland University"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. ACM Program. Lang."],"published-print":{"date-parts":[[2018,10,24]]},"abstract":"<jats:p>This paper advocates programming high-performance code using partial evaluation. We present a clean-slate programming system with a simple, annotation-based, online partial evaluator that operates on a CPS-style intermediate representation. Our system exposes code generation for accelerators (vectorization\/parallelization for CPUs and GPUs) via compiler-known higher-order functions that can be subjected to partial evaluation. This way, generic implementations can be instantiated with target-specific code at compile time.<\/jats:p>\n          <jats:p>In our experimental evaluation we present three extensive case studies from image processing, ray tracing, and genome sequence alignment. We demonstrate that using partial evaluation, we obtain high-performance implementations for CPUs and GPUs from one language and one code base in a generic way. The performance of our codes is mostly within 10%, often closer to the performance of multi man-year, industry-grade, manually-optimized expert codes that are considered to be among the top contenders in their fields.<\/jats:p>","DOI":"10.1145\/3276489","type":"journal-article","created":{"date-parts":[[2018,10,24]],"date-time":"2018-10-24T11:57:18Z","timestamp":1540382238000},"page":"1-30","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":27,"title":["AnyDSL: a partial evaluation framework for programming high-performance libraries"],"prefix":"10.1145","volume":"2","author":[{"given":"Roland","family":"Lei\u00dfa","sequence":"first","affiliation":[{"name":"Saarland University, Germany"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Klaas","family":"Boesche","sequence":"additional","affiliation":[{"name":"Saarland University, Germany"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Sebastian","family":"Hack","sequence":"additional","affiliation":[{"name":"Saarland University, Germany"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Ars\u00e8ne","family":"P\u00e9rard-Gayot","sequence":"additional","affiliation":[{"name":"Saarland University, Germany \/ DFKI, Germany"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Richard","family":"Membarth","sequence":"additional","affiliation":[{"name":"Saarland University, Germany \/ DFKI, Germany"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Philipp","family":"Slusallek","sequence":"additional","affiliation":[{"name":"Saarland University, Germany \/ DFKI, Germany"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Andr\u00e9","family":"M\u00fcller","sequence":"additional","affiliation":[{"name":"Johannes Gutenberg University Mainz, Germany"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Bertil","family":"Schmidt","sequence":"additional","affiliation":[{"name":"Johannes Gutenberg University Mainz, Germany"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2018,10,24]]},"reference":[{"key":"e_1_2_2_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/1572769.1572792"},{"key":"e_1_2_2_3_1","volume-title":"Proceedings, Part II. 170\u2013181","author":"Aldinucci Marco","year":"2011","unstructured":"Marco Aldinucci , Marco Danelutto , Peter Kilpatrick , Massimiliano Meneghin , and Massimo Torquati . 2011 . Accelerating Code on Multi-cores with FastFlow. In Euro-Par 2011 Parallel Processing - 17th International Conference, Euro-Par 2011, Bordeaux, France, August 29 - September 2, 2011 , Proceedings, Part II. 170\u2013181 . Marco Aldinucci, Marco Danelutto, Peter Kilpatrick, Massimiliano Meneghin, and Massimo Torquati. 2011. Accelerating Code on Multi-cores with FastFlow. In Euro-Par 2011 Parallel Processing - 17th International Conference, Euro-Par 2011, Bordeaux, France, August 29 - September 2, 2011, Proceedings, Part II. 170\u2013181."},{"key":"e_1_2_2_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/3158140"},{"key":"e_1_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/154630.154636"},{"key":"e_1_2_2_7_1","volume-title":"Second International Workshop, SAIG 2001, Florence, Italy, September 6, 2001, Proceedings. 126\u2013145","author":"Asai Kenichi","year":"2001","unstructured":"Kenichi Asai . 2001 . Integrating Partial Evaluators into Interpreters. In Semantics, Applications, and Implementation of Program Generation , Second International Workshop, SAIG 2001, Florence, Italy, September 6, 2001, Proceedings. 126\u2013145 . Kenichi Asai. 2001. Integrating Partial Evaluators into Interpreters. In Semantics, Applications, and Implementation of Program Generation, Second International Workshop, SAIG 2001, Florence, Italy, September 6, 2001, Proceedings. 126\u2013145."},{"key":"e_1_2_2_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2847538.2847547"},{"key":"e_1_2_2_9_1","volume-title":"7th International Symposium on Symbolic Computation in Software Science, SCSS 2016","author":"Asai Kenichi","year":"2016","unstructured":"Kenichi Asai and Yukiyoshi Kameyama . 2016 . Automatic Staging via Partial Evaluation Techniques . In 7th International Symposium on Symbolic Computation in Software Science, SCSS 2016 , Tokyo, Japan , March 28-31, 2016. 1\u201313. http: \/\/www.easychair.org\/publications\/paper\/262500 Kenichi Asai and Yukiyoshi Kameyama. 2016. Automatic Staging via Partial Evaluation Techniques. In 7th International Symposium on Symbolic Computation in Software Science, SCSS 2016, Tokyo, Japan, March 28-31, 2016. 1\u201313. http: \/\/www.easychair.org\/publications\/paper\/262500"},{"key":"e_1_2_2_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/1706356.1706357"},{"key":"e_1_2_2_11_1","volume-title":"Proceedings of the 1999 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation","author":"Bawden Alan","year":"1999","unstructured":"Alan Bawden . 1999 . Quasiquotation in Lisp . In Proceedings of the 1999 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation , San Antonio, Texas, USA , January 22-23, 1999. Technical report BRICS-NS-99-1. 4\u201312. Alan Bawden. 1999. Quasiquotation in Lisp. In Proceedings of the 1999 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, San Antonio, Texas, USA, January 22-23, 1999. Technical report BRICS-NS-99-1. 4\u201312."},{"key":"e_1_2_2_12_1","volume-title":"Thrust: A productivity-oriented library for CUDA. In GPU Computing Gems Jade Edition","author":"Bell N.","year":"2011","unstructured":"N. Bell and J. Hoberock . 2011 . Thrust: A productivity-oriented library for CUDA. In GPU Computing Gems Jade Edition ( 1 st ed.), Wen-mei W. Hwu (Ed.). Morgan Kaufmann Publishers Inc ., San Francisco, CA, USA. N. Bell and J. Hoberock. 2011. Thrust: A productivity-oriented library for CUDA. In GPU Computing Gems Jade Edition (1st ed.), Wen-mei W. Hwu (Ed.). Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.","edition":"1"},{"key":"e_1_2_2_13_1","volume-title":"6th International Symposium, PLILP\u201994","author":"Birkedal Lars","year":"1994","unstructured":"Lars Birkedal and Morten Welinder . 1994 . Hand-Writing Program Generator Generators. In Programming Language Implementation and Logic Programming , 6th International Symposium, PLILP\u201994 , Madrid, Spain , September 14-16, 1994, Proceedings. 198\u2013214. Lars Birkedal and Morten Welinder. 1994. Hand-Writing Program Generator Generators. In Programming Language Implementation and Logic Programming, 6th International Symposium, PLILP\u201994, Madrid, Spain, September 14-16, 1994, Proceedings. 198\u2013214."},{"key":"e_1_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01019003"},{"key":"e_1_2_2_15_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796800000769"},{"key":"e_1_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-37051-9_6"},{"key":"e_1_2_2_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/PACT.2011.15"},{"key":"e_1_2_2_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/154630.154637"},{"key":"e_1_2_2_19_1","volume-title":"5th Asian Symposium, APLAS 2007, Singapore, November 29-December 1, 2007, Proceedings. 222\u2013238","author":"Carette Jacques","year":"2007","unstructured":"Jacques Carette , Oleg Kiselyov , and Chung-chieh Shan. 2007 . Finally Tagless, Partially Evaluated. In Programming Languages and Systems , 5th Asian Symposium, APLAS 2007, Singapore, November 29-December 1, 2007, Proceedings. 222\u2013238 . Jacques Carette, Oleg Kiselyov, and Chung-chieh Shan. 2007. Finally Tagless, Partially Evaluated. In Programming Languages and Systems, 5th Asian Symposium, APLAS 2007, Singapore, November 29-December 1, 2007, Proceedings. 222\u2013238."},{"key":"e_1_2_2_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1869459.1869527"},{"key":"e_1_2_2_22_1","doi-asserted-by":"publisher","DOI":"10.5555\/645387.651549"},{"key":"e_1_2_2_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/154630.154638"},{"key":"e_1_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/154630.154645"},{"key":"e_1_2_2_25_1","volume-title":"Proceedings IFIP Working Conference on Domain-Specific Languages, DSL 2011","author":"William","year":"2011","unstructured":"William R. Cook and Ralf L\u00e4mmel. 2011. Tutorial on Online Partial Evaluation . In Proceedings IFIP Working Conference on Domain-Specific Languages, DSL 2011 , Bordeaux, France, 6-8th September 2011 . 168\u2013180. William R. Cook and Ralf L\u00e4mmel. 2011. Tutorial on Online Partial Evaluation. In Proceedings IFIP Working Conference on Domain-Specific Languages, DSL 2011, Bordeaux, France, 6-8th September 2011. 168\u2013180."},{"key":"e_1_2_2_26_1","volume-title":"Parasail: SIMD C library for global, semi-global, and local pairwise sequence alignments. BMC bioinformatics 17, 1","author":"Daily Jeff","year":"2016","unstructured":"Jeff Daily . 2016 . Parasail: SIMD C library for global, semi-global, and local pairwise sequence alignments. BMC bioinformatics 17, 1 (2016), 1. Jeff Daily. 2016. Parasail: SIMD C library for global, semi-global, and local pairwise sequence alignments. BMC bioinformatics 17, 1 (2016), 1."},{"key":"e_1_2_2_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/215465.215569"},{"key":"e_1_2_2_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491956.2462166"},{"key":"e_1_2_2_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/2063384.2063396"},{"key":"e_1_2_2_31_1","volume-title":"SeqAn An efficient, generic C++ library for sequence analysis. BMC Bioinformatics 9, 1 (09","author":"D\u00f6ring Andreas","year":"2008","unstructured":"Andreas D\u00f6ring , David Weese , Tobias Rausch , and Knut Reinert . 2008. SeqAn An efficient, generic C++ library for sequence analysis. BMC Bioinformatics 9, 1 (09 Jan 2008 ), 11. Andreas D\u00f6ring, David Weese, Tobias Rausch, and Knut Reinert. 2008. SeqAn An efficient, generic C++ library for sequence analysis. BMC Bioinformatics 9, 1 (09 Jan 2008), 11."},{"key":"e_1_2_2_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/3050748.3050761"},{"key":"e_1_2_2_33_1","volume-title":"Parital Computation of Programs. In RIMS Symposium on Software Science and Engineering","author":"Futamura Yoshihiko","year":"1982","unstructured":"Yoshihiko Futamura . 1982 . Parital Computation of Programs. In RIMS Symposium on Software Science and Engineering , Kyoto, Japan , 1982, Proceedings. 1\u201335. Yoshihiko Futamura. 1982. Parital Computation of Programs. In RIMS Symposium on Software Science and Engineering, Kyoto, Japan, 1982, Proceedings. 1\u201335."},{"key":"e_1_2_2_34_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1010095604496"},{"key":"e_1_2_2_35_1","volume-title":"Actes WSA\u201992 Workshop on Static Analysis (Bordeaux)","author":"Gengler Marc","year":"1992","unstructured":"Marc Gengler and M. Rytz . 1992. A Polyvariant Binding Time Analysis Handling Partially Known Values . In Actes WSA\u201992 Workshop on Static Analysis (Bordeaux) , September 1992 , Laboratoire Bordelais de Recherche en Informatique (LaBRI), Proceedings. 322\u2013330. Marc Gengler and M. Rytz. 1992. A Polyvariant Binding Time Analysis Handling Partially Known Values. In Actes WSA\u201992 Workshop on Static Analysis (Bordeaux), September 1992, Laboratoire Bordelais de Recherche en Informatique (LaBRI), Proceedings. 322\u2013330."},{"key":"e_1_2_2_36_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.1086"},{"key":"e_1_2_2_37_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0304-3975(00)00051-7"},{"key":"e_1_2_2_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/3168824"},{"key":"e_1_2_2_39_1","doi-asserted-by":"publisher","DOI":"10.1109\/LLVM-HPC.2014.9"},{"key":"e_1_2_2_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/3148173.3148185"},{"key":"e_1_2_2_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/2884045.2884049"},{"key":"e_1_2_2_42_1","volume-title":"Proceedings of the Alvey Vision Conference, AVC 1988","author":"Christopher","year":"1988","unstructured":"Christopher G. Harris and Mike Stephens. 1988. A Combined Corner and Edge Detector . In Proceedings of the Alvey Vision Conference, AVC 1988 , Manchester, UK , September , 1988 . 1\u20136. Christopher G. Harris and Mike Stephens. 1988. A Combined Corner and Edge Detector. In Proceedings of the Alvey Vision Conference, AVC 1988, Manchester, UK, September, 1988. 1\u20136."},{"key":"e_1_2_2_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/360825.360861"},{"key":"e_1_2_2_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/1449913.1449935"},{"key":"e_1_2_2_45_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0304-3975(00)00048-7"},{"key":"e_1_2_2_46_1","doi-asserted-by":"publisher","DOI":"10.5555\/551789.853532"},{"key":"e_1_2_2_47_1","volume-title":"FPCA 1985, Nancy, France, September 16-19, 1985, Proceedings. 190\u2013203","author":"Johnsson Thomas","year":"1985","unstructured":"Thomas Johnsson . 1985 . Lambda Lifting: Treansforming Programs to Recursive Equations. In Functional Programming Languages and Computer Architecture , FPCA 1985, Nancy, France, September 16-19, 1985, Proceedings. 190\u2013203 . Thomas Johnsson. 1985. Lambda Lifting: Treansforming Programs to Recursive Equations. In Functional Programming Languages and Computer Architecture, FPCA 1985, Nancy, France, September 16-19, 1985, Proceedings. 190\u2013203."},{"key":"e_1_2_2_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/215465.215468"},{"key":"e_1_2_2_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/581478.581505"},{"key":"e_1_2_2_50_1","volume-title":"Partial evaluation and automatic program generation","author":"Jones Neil D.","unstructured":"Neil D. Jones , Carsten K. Gomard , and Peter Sestoft . 1993. Partial evaluation and automatic program generation . Prentice Hall . Neil D. Jones, Carsten K. Gomard, and Peter Sestoft. 1993. Partial evaluation and automatic program generation. Prentice Hall."},{"key":"e_1_2_2_51_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01806312"},{"key":"e_1_2_2_52_1","volume-title":"DIKU 1998 International Summer School","author":"J\u00f8rgensen Jesper","year":"1998","unstructured":"Jesper J\u00f8rgensen . 1998 . SIMILIX: A Self-Applicable Partial Evaluator for Scheme. In Partial Evaluation - Practice and Theory , DIKU 1998 International Summer School , Copenhagen, Denmark, June 29 - July 10, 1998. 83\u2013107. Jesper J\u00f8rgensen. 1998. SIMILIX: A Self-Applicable Partial Evaluator for Scheme. In Partial Evaluation - Practice and Theory, DIKU 1998 International Summer School, Copenhagen, Denmark, June 29 - July 10, 1998. 83\u2013107."},{"key":"e_1_2_2_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/512644.512652"},{"key":"e_1_2_2_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/2658761.2658771"},{"key":"e_1_2_2_55_1","volume-title":"ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, Fairmont Hotel","author":"Katz Morry","year":"1992","unstructured":"Morry Katz and Daniel Weise . 1992 . Towards a New Perspective on Partial Evaluation. In PEPM\u201992 , ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, Fairmont Hotel , San Francisco, CA, USA , June 19-20, 1992, Proceedings (TR YALEU\/DCS\/RR-909). 29\u201337. Morry Katz and Daniel Weise. 1992. Towards a New Perspective on Partial Evaluation. In PEPM\u201992, ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, Fairmont Hotel, San Francisco, CA, USA, June 19-20, 1992, Proceedings (TR YALEU\/DCS\/RR-909). 29\u201337."},{"key":"e_1_2_2_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/202529.202532"},{"key":"e_1_2_2_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/2791321.2791345"},{"key":"e_1_2_2_58_1","volume-title":"FLOPS 2014, Kanazawa, Japan, June 4-6, 2014. Proceedings. 86\u2013102","author":"Kiselyov Oleg","year":"2014","unstructured":"Oleg Kiselyov . 2014 . The Design and Implementation of BER MetaOCaml - System Description. In Functional and Logic Programming - 12th International Symposium , FLOPS 2014, Kanazawa, Japan, June 4-6, 2014. Proceedings. 86\u2013102 . Oleg Kiselyov. 2014. The Design and Implementation of BER MetaOCaml - System Description. In Functional and Logic Programming - 12th International Symposium, FLOPS 2014, Kanazawa, Japan, June 4-6, 2014. Proceedings. 86\u2013102."},{"key":"e_1_2_2_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/319838.319859"},{"key":"e_1_2_2_60_1","volume-title":"2nd IEEE \/ ACM International Symposium on Code Generation and Optimization (CGO 2004)","author":"Lattner Chris","year":"2004","unstructured":"Chris Lattner and Vikram S. Adve . 2004. LLVM: A Compilation Framework for Lifelong Program Analysis &amp; Transformation . In 2nd IEEE \/ ACM International Symposium on Code Generation and Optimization (CGO 2004) , 20-24 March 2004 , San Jose, CA, USA. 75\u201388. Chris Lattner and Vikram S. Adve. 2004. LLVM: A Compilation Framework for Lifelong Program Analysis &amp; Transformation. In 2nd IEEE \/ ACM International Symposium on Code Generation and Optimization (CGO 2004), 20-24 March 2004, San Jose, CA, USA. 75\u201388."},{"key":"e_1_2_2_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/2814204.2814208"},{"key":"e_1_2_2_62_1","doi-asserted-by":"publisher","DOI":"10.5555\/2738600.2738626"},{"key":"e_1_2_2_63_1","doi-asserted-by":"publisher","DOI":"10.1145\/3168811"},{"key":"e_1_2_2_64_1","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2015.2394802"},{"key":"e_1_2_2_65_1","doi-asserted-by":"publisher","DOI":"10.1145\/2187671.2187672"},{"key":"e_1_2_2_66_1","doi-asserted-by":"publisher","DOI":"10.1145\/3192366.3192413"},{"key":"e_1_2_2_67_1","doi-asserted-by":"publisher","DOI":"10.5555\/2190025.2190069"},{"key":"e_1_2_2_68_1","doi-asserted-by":"publisher","DOI":"10.1145\/1365490.1365500"},{"key":"e_1_2_2_69_1","volume-title":"Semantics with applications - a formal introduction","author":"Nielson Hanne Riis","unstructured":"Hanne Riis Nielson and Flemming Nielson . 1992. Semantics with applications - a formal introduction . Wiley . Hanne Riis Nielson and Flemming Nielson. 1992. Semantics with applications - a formal introduction. Wiley."},{"key":"e_1_2_2_70_1","doi-asserted-by":"publisher","DOI":"10.1145\/3136040.3136060"},{"key":"e_1_2_2_71_1","volume-title":"Proceedings of the IEEE Computer Society 1994 International Conference on Computer Languages","author":"Palsberg Jens","year":"1994","unstructured":"Jens Palsberg and Michael I. Schwartzbach . 1994. Binding-time Analysis: Abstract Interpretation versus Type Inference . In Proceedings of the IEEE Computer Society 1994 International Conference on Computer Languages , May 16-19, 1994 , Toulouse, France. 277\u2013288. Jens Palsberg and Michael I. Schwartzbach. 1994. Binding-time Analysis: Abstract Interpretation versus Type Inference. In Proceedings of the IEEE Computer Society 1994 International Conference on Computer Languages, May 16-19, 1994, Toulouse, France. 277\u2013288."},{"key":"e_1_2_2_72_1","volume-title":"http:\/\/nvlabs.github.io\/nvbio\/ . {Online","author":"Pantaleoni Jacopo","year":"2017","unstructured":"Jacopo Pantaleoni and Nuno Subtil . 2014. NVBIO. http:\/\/nvlabs.github.io\/nvbio\/ . {Online ; accessed 06- October - 2017 }. Jacopo Pantaleoni and Nuno Subtil. 2014. NVBIO. http:\/\/nvlabs.github.io\/nvbio\/ . {Online; accessed 06-October-2017}."},{"key":"e_1_2_2_73_1","doi-asserted-by":"publisher","DOI":"10.1145\/1778765.1778803"},{"key":"e_1_2_2_74_1","doi-asserted-by":"publisher","DOI":"10.1145\/3136040.3136044"},{"key":"e_1_2_2_75_1","doi-asserted-by":"publisher","DOI":"10.1093\/bioinformatics\/btt055"},{"key":"e_1_2_2_76_1","doi-asserted-by":"publisher","DOI":"10.1145\/2185520.2185528"},{"key":"e_1_2_2_77_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491956.2462176"},{"key":"e_1_2_2_78_1","doi-asserted-by":"publisher","DOI":"10.1145\/2998441"},{"key":"e_1_2_2_79_1","unstructured":"James Reinders. 2007. Intel threading building blocks - outfitting C++ for multi-core processor parallelism. O\u2019Reilly. http: \/\/www.oreilly.com\/catalog\/9780596514808\/index.html   James Reinders. 2007. Intel threading building blocks - outfitting C++ for multi-core processor parallelism. O\u2019Reilly. http: \/\/www.oreilly.com\/catalog\/9780596514808\/index.html"},{"key":"e_1_2_2_80_1","doi-asserted-by":"publisher","DOI":"10.1145\/1868294.1868314"},{"key":"e_1_2_2_81_1","volume-title":"ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, Fairmont Hotel","author":"Ruf Erik","year":"1992","unstructured":"Erik Ruf and Daniel Weise . 1992 . Improving the Accuracy of Higher-Order Specialization using Control Flow Analysis. In PEPM\u201992 , ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, Fairmont Hotel , San Francisco, CA, USA , June 19-20, 1992, Proceedings (TR YALEU\/DCS\/RR-909). 67\u201374. Erik Ruf and Daniel Weise. 1992. Improving the Accuracy of Higher-Order Specialization using Control Flow Analysis. In PEPM\u201992, ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, Fairmont Hotel, San Francisco, CA, USA, June 19-20, 1992, Proceedings (TR YALEU\/DCS\/RR-909). 67\u201374."},{"key":"e_1_2_2_83_1","volume-title":"ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, Fairmont Hotel","author":"Rytz Bernhard","year":"1992","unstructured":"Bernhard Rytz and Marc Gengler . 1992 . A Polyvariant Binding Time Analysis. In PEPM\u201992 , ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, Fairmont Hotel , San Francisco, CA, USA , June 19-20, 1992, Proceedings (TR YALEU\/DCS\/RR-909). 21\u201328. Bernhard Rytz and Marc Gengler. 1992. A Polyvariant Binding Time Analysis. In PEPM\u201992, ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, Fairmont Hotel, San Francisco, CA, USA, June 19-20, 1992, Proceedings (TR YALEU\/DCS\/RR-909). 21\u201328."},{"key":"e_1_2_2_84_1","doi-asserted-by":"publisher","DOI":"10.1145\/778559.778561"},{"key":"e_1_2_2_85_1","doi-asserted-by":"publisher","DOI":"10.1145\/2048066.2048098"},{"key":"e_1_2_2_87_1","doi-asserted-by":"publisher","DOI":"10.1145\/2989225.2989236"},{"key":"e_1_2_2_88_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2011.269"},{"key":"e_1_2_2_89_1","doi-asserted-by":"publisher","DOI":"10.5555\/3049832.3049841"},{"key":"e_1_2_2_90_1","doi-asserted-by":"publisher","DOI":"10.5555\/2220077.2220227"},{"key":"e_1_2_2_91_1","volume-title":"Proceedings of the 28th International Conference on Machine Learning, ICML 2011","author":"Sujeeth Arvind K.","year":"2011","unstructured":"Arvind K. Sujeeth , HyoukJoong Lee , Kevin J. Brown , Tiark Rompf , Hassan Chafi , Michael Wu , Anand R. Atreya , Martin Odersky, and Kunle Olukotun. 2011. OptiML: An Implicitly Parallel Domain-Specific Language for Machine Learning . In Proceedings of the 28th International Conference on Machine Learning, ICML 2011 , Bellevue, Washington, USA, June 28 - July 2, 2011 . 609\u2013616. Arvind K. Sujeeth, HyoukJoong Lee, Kevin J. Brown, Tiark Rompf, Hassan Chafi, Michael Wu, Anand R. Atreya, Martin Odersky, and Kunle Olukotun. 2011. OptiML: An Implicitly Parallel Domain-Specific Language for Machine Learning. In Proceedings of the 28th International Conference on Machine Learning, ICML 2011, Bellevue, Washington, USA, June 28 -July 2, 2011. 609\u2013616."},{"key":"e_1_2_2_92_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0304-3975(00)00053-0"},{"key":"e_1_2_2_93_1","doi-asserted-by":"publisher","DOI":"10.1145\/1993498.1993514"},{"key":"e_1_2_2_94_1","volume-title":"CoRR cs.PL\/9810010","author":"Veldhuizen Todd L.","year":"1998","unstructured":"Todd L. Veldhuizen . 1998. C++ Templates as Partial Evaluation . CoRR cs.PL\/9810010 ( 1998 ), 1\u201313. http:\/\/arxiv.org\/abs\/cs. PL\/ 9810010 Todd L. Veldhuizen. 1998. C++ Templates as Partial Evaluation. CoRR cs.PL\/9810010 (1998), 1\u201313. http:\/\/arxiv.org\/abs\/cs. PL\/9810010"},{"key":"e_1_2_2_95_1","doi-asserted-by":"publisher","DOI":"10.1145\/2601097.2601199"},{"key":"e_1_2_2_96_1","doi-asserted-by":"publisher","DOI":"10.1145\/3062341.3062381"},{"key":"e_1_2_2_97_1","doi-asserted-by":"publisher","DOI":"10.1145\/2509578.2509581"}],"container-title":["Proceedings of the ACM on Programming Languages"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3276489","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3276489","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T01:01:58Z","timestamp":1750208518000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3276489"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,10,24]]},"references-count":91,"journal-issue":{"issue":"OOPSLA","published-print":{"date-parts":[[2018,10,24]]}},"alternative-id":["10.1145\/3276489"],"URL":"https:\/\/doi.org\/10.1145\/3276489","relation":{},"ISSN":["2475-1421"],"issn-type":[{"value":"2475-1421","type":"electronic"}],"subject":[],"published":{"date-parts":[[2018,10,24]]},"assertion":[{"value":"2018-10-24","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}