{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,9]],"date-time":"2026-01-09T03:26:50Z","timestamp":1767929210326,"version":"3.49.0"},"publisher-location":"New York, NY, USA","reference-count":50,"publisher":"ACM","license":[{"start":{"date-parts":[[2006,1,9]],"date-time":"2006-01-09T00:00:00Z","timestamp":1136764800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2006,1,9]]},"DOI":"10.1145\/1111542.1111570","type":"proceedings-article","created":{"date-parts":[[2006,2,6]],"date-time":"2006-02-06T15:52:40Z","timestamp":1139241160000},"page":"160-169","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":37,"title":["A monadic approach for avoiding code duplication when staging memoized functions"],"prefix":"10.1145","author":[{"given":"Kedar","family":"Swadi","sequence":"first","affiliation":[{"name":"Presistent Systems Pvt. Ltd., Pune, India"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Walid","family":"Taha","sequence":"additional","affiliation":[{"name":"Rice University, Houston, TX"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Oleg","family":"Kiselyov","sequence":"additional","affiliation":[{"name":"FNMOC, Monterey, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Emir","family":"Pasalic","sequence":"additional","affiliation":[{"name":"Rice University, Houston, TX"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2006,1,9]]},"reference":[{"key":"e_1_3_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/604131.604133"},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/777388.777390"},{"key":"e_1_3_2_1_3_1","volume-title":"Jan.","author":"Aldrich J.","year":"2003","unstructured":"J. Aldrich . Open modules: A foundation for modular aspect-oriented programming. Available online from http:\/\/www-2.cs.cmu.edu\/~aldrich\/papers\/tinyaspect.pdf , Jan. 2003 .]] J. Aldrich. Open modules: A foundation for modular aspect-oriented programming. Available online from http:\/\/www-2.cs.cmu.edu\/~aldrich\/papers\/tinyaspect.pdf, Jan. 2003.]]"},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/141471.141483"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796802004598"},{"key":"e_1_3_2_1_6_1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"25","DOI":"10.1007\/3-540-45022-X_4","volume-title":"Proceedings of the International Colloquium on Automata, Languages, and Programming (ICALP '00)","author":"Calcagno C.","year":"2000","unstructured":"C. Calcagno , E. Moggi , and W. Taha . Closed types as a simple approach to safe imperative multi-stage programming . In Proceedings of the International Colloquium on Automata, Languages, and Programming (ICALP '00) , volume 1853 of Lecture Notes in Computer Science , pages 25 -- 36 , Springer-Verlag , July 2000 .]] C. Calcagno, E. Moggi, and W. Taha. Closed types as a simple approach to safe imperative multi-stage programming. In Proceedings of the International Colloquium on Automata, Languages, and Programming (ICALP '00), volume 1853 of Lecture Notes in Computer Science, pages 25--36, Springer-Verlag, July 2000.]]"},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-24725-8_7"},{"key":"e_1_3_2_1_8_1","series-title":"Lecture Notes in Computer Science","volume-title":"Proceedings of the ACM SIGPLAN\/SIGSOFT International Conference on Generative Programming and Component Engineering (GPCE '03)","author":"Calcagno C.","year":"2003","unstructured":"C. Calcagno , W. Taha , L. Huang , and X. Leroy . Implementing multistage languages using ASTs, gensym, and reflection . In K. Czarnecki, F. Pfenning, and Y. Smaragdakis, editors, Proceedings of the ACM SIGPLAN\/SIGSOFT International Conference on Generative Programming and Component Engineering (GPCE '03) , volume 2830 of Lecture Notes in Computer Science . Springer-Verlag , Sept. 2003 .]] C. Calcagno, W. Taha, L. Huang, and X. Leroy. Implementing multistage languages using ASTs, gensym, and reflection. In K. Czarnecki, F. Pfenning, and Y. Smaragdakis, editors, Proceedings of the ACM SIGPLAN\/SIGSOFT International Conference on Generative Programming and Component Engineering (GPCE '03), volume 2830 of Lecture Notes in Computer Science. Springer-Verlag, Sept. 2003.]]"},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1007\/11561347_18"},{"key":"e_1_3_2_1_10_1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"496","DOI":"10.1007\/3540543961_24","volume-title":"Proceedings of the ACM SIGPLAN\/SIGARCH Functional Programming Languages and Computer Architecture (FPCA '91)","author":"Consel C.","year":"1991","unstructured":"C. Consel and O. Danvy . For a better support of static data flow . In R. Hughes, editor, Proceedings of the ACM SIGPLAN\/SIGARCH Functional Programming Languages and Computer Architecture (FPCA '91) , volume 523 of Lecture Notes in Computer Science , pages 496 -- 519 . ACM Press , Springer- Verlag, Aug . 1991 .]] C. Consel and O. Danvy. For a better support of static data flow. In R. Hughes, editor, Proceedings of the ACM SIGPLAN\/SIGARCH Functional Programming Languages and Computer Architecture (FPCA '91), volume 523 of Lecture Notes in Computer Science, pages 496--519. ACM Press, Springer-Verlag, Aug. 1991.]]"},{"key":"e_1_3_2_1_11_1","volume-title":"Introduction to algorithms","author":"Cormen T. H.","year":"1994","unstructured":"T. H. Cormen , C. E. Leiserson , and R. L. Rivest . Introduction to algorithms . MIT Press and McGraw-Hill Book Company , 14 th edition, 1994 .]] T. H. Cormen, C. E. Leiserson, and R. L. Rivest. Introduction to algorithms. MIT Press and McGraw-Hill Book Company, 14th edition, 1994.]]","edition":"14"},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1014007.1014019"},{"key":"e_1_3_2_1_13_1","volume-title":"Proceedings of the International Workshop on Aspect-Oriented Programming at ECOOP","volume":"1357","author":"DeMeuter W.","year":"1997","unstructured":"W. DeMeuter . Monads as a theoretical foundation for AOP . In Proceedings of the International Workshop on Aspect-Oriented Programming at ECOOP , volume 1357 of Lecture Notes in Computer Science, page 25. Springer-Verlag , 1997 .]] W. DeMeuter. Monads as a theoretical foundation for AOP. In Proceedings of the International Workshop on Aspect-Oriented Programming at ECOOP, volume 1357 of Lecture Notes in Computer Science, page 25. Springer-Verlag, 1997.]]"},{"key":"e_1_3_2_1_14_1","volume-title":"Available online from http:\/\/www.metaocaml.org\/examples\/dp","author":"Benchmark Dynamic Programming","year":"2005","unstructured":"Dynamic Programming Benchmark . Available online from http:\/\/www.metaocaml.org\/examples\/dp , 2005 .]] Dynamic Programming Benchmark. Available online from http:\/\/www.metaocaml.org\/examples\/dp, 2005.]]"},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/258948.258968"},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1007\/11561347_19"},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796802004574"},{"key":"e_1_3_2_1_18_1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"151","DOI":"10.1007\/3-540-45413-6_15","volume-title":"Proceedings of the International Conference on Typed Lambda Calculi and Applications (TLCA '01)","author":"Filinski A.","year":"2001","unstructured":"A. Filinski . Normalization by evaluation for the computational lambda-calculus . In S. Abramsky, editor, Proceedings of the International Conference on Typed Lambda Calculi and Applications (TLCA '01) , volume 2044 of Lecture Notes in Computer Science , pages 151 -- 165 . Springer-Verlag , May 2001 .]] A. Filinski. Normalization by evaluation for the computational lambda-calculus. In S. Abramsky, editor, Proceedings of the International Conference on Typed Lambda Calculi and Applications (TLCA '01), volume 2044 of Lecture Notes in Computer Science, pages 151--165. Springer-Verlag, May 2001.]]"},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/155090.155113"},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/301618.301661"},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.5555\/857172.857252"},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0960129597002405"},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/115865.115890"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0167-6423(99)00023-4"},{"key":"e_1_3_2_1_25_1","volume-title":"Partial Evaluation and Automatic Program Generation","author":"Jones N. D.","year":"1993","unstructured":"N. D. Jones , C. K. Gomard , and P. Sestoft . Partial Evaluation and Automatic Program Generation . Prentice-Hall , 1993 .]] N. D. Jones, C. K. Gomard, and P. Sestoft. Partial Evaluation and Automatic Program Generation. Prentice-Hall, 1993.]]"},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/1017753.1017794"},{"key":"e_1_3_2_1_27_1","series-title":"Lecture Notes in Computer Science","volume-title":"Relating FFTW and split radix","author":"Kiselyov O.","year":"2004","unstructured":"O. Kiselyov and W. Taha . Relating FFTW and split radix . In Z. Wu, M. Guo, C. Chen, and J. Bu, editors, Proceedings of the International Conference on Embedded Software and Systems (ICESS '04), volume 3605 of Lecture Notes in Computer Science . Springer-Verlag , Dec. 2004 .]] O. Kiselyov and W. Taha. Relating FFTW and split radix. In Z. Wu, M. Guo, C. Chen, and J. Bu, editors, Proceedings of the International Conference on Embedded Software and Systems (ICESS '04), volume 3605 of Lecture Notes in Computer Science. Springer-Verlag, Dec. 2004.]]"},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01018827"},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/182409.182483"},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/199448.199528"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/328690.328700"},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1023068020483"},{"key":"e_1_3_2_1_33_1","unstructured":"B. McAdam. Y in practical programs (extended abstract). Unpublished manuscript.]]  B. McAdam. Y in practical programs (extended abstract). Unpublished manuscript.]]"},{"key":"e_1_3_2_1_34_1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"298","DOI":"10.1007\/BFb0055257","volume-title":"Proceedings of the International Workshop on Field-Programmable Logic and Applications (FPL '98)","author":"McKay N.","year":"1998","unstructured":"N. McKay and S. Singh . Dynamic specialization of XC6200 FPGAs by partial evaluation . In R. W. Hartenstein and A. Keevallik, editors, Proceedings of the International Workshop on Field-Programmable Logic and Applications (FPL '98) , volume 1482 of Lecture Notes in Computer Science , pages 298 -- 307 . Springer-Verlag , Aug. 1998 .]] N. McKay and S. Singh. Dynamic specialization of XC6200 FPGAs by partial evaluation. In R. W. Hartenstein and A. Keevallik, editors, Proceedings of the International Workshop on Field-Programmable Logic and Applications (FPL '98), volume 1482 of Lecture Notes in Computer Science, pages 298--307. Springer-Verlag, Aug. 1998.]]"},{"key":"e_1_3_2_1_35_1","unstructured":"MetaOCaml: A compiled type-safe multi-stage programming language. Available online from http:\/\/www.metaocaml.org\/.]]  MetaOCaml: A compiled type-safe multi-stage programming language. Available online from http:\/\/www.metaocaml.org\/.]]"},{"key":"e_1_3_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.5555\/77350.77353"},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1016\/0890-5401(91)90052-4"},{"key":"e_1_3_2_1_38_1","series-title":"Lecture Notes in Computer Science","volume-title":"Proceedings of Foundations of Software Science and Computation Structures (FOSSACS '03)","author":"Moggi E.","year":"2003","unstructured":"E. Moggi and S. Fagorzi . A monadic multi-stage metalanguage . In A. Gordon, editor, Proceedings of Foundations of Software Science and Computation Structures (FOSSACS '03) , volume 2620 of Lecture Notes in Computer Science . Springer-Verlag , Apr. 2003 .]] E. Moggi and S. Fagorzi. A monadic multi-stage metalanguage. In A. Gordon, editor, Proceedings of Foundations of Software Science and Computation Structures (FOSSACS '03), volume 2620 of Lecture Notes in Computer Science. Springer-Verlag, Apr. 2003.]]"},{"key":"e_1_3_2_1_39_1","volume-title":"Two-Level Functional Languages. Number 34 in Cambridge Tracts in Theoretical Computer Science","author":"Nielson F.","year":"1992","unstructured":"F. Nielson and H. R. Nielson . Two-Level Functional Languages. Number 34 in Cambridge Tracts in Theoretical Computer Science . Cambridge University Press , Cambridge , 1992 .]] F. Nielson and H. R. Nielson. Two-Level Functional Languages. Number 34 in Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, Cambridge, 1992.]]"},{"key":"e_1_3_2_1_40_1","first-page":"97291","volume":"91000","author":"Oregon Graduate Institute Technical Reports. P.O","unstructured":"Oregon Graduate Institute Technical Reports. P.O . Box 91000 , Portland, OR 97291 - 91000 , USA. Available online from http:\/\/www.cse.ogi.edu\/tech-reports\/.]] Oregon Graduate Institute Technical Reports. P.O. Box 91000, Portland, OR 97291-1000, USA. Available online from http:\/\/www.cse.ogi.edu\/tech-reports\/.]]","journal-title":"Box"},{"key":"e_1_3_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/331960.331975"},{"key":"e_1_3_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/215465.215579"},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1012984529382"},{"key":"e_1_3_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/328690.328697"},{"key":"e_1_3_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796802004677"},{"key":"e_1_3_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/604131.604134"},{"key":"e_1_3_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/258993.259019"},{"key":"e_1_3_2_1_49_1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"366","DOI":"10.1007\/3-540-44898-5_21","volume-title":"Proceedings of the International Symposium on Static Analysis (SAS '03)","author":"Thiemann P.","year":"2003","unstructured":"P. Thiemann . Continuation-based partial evaluation without continuations. In R. Cousot, editor, Proceedings of the International Symposium on Static Analysis (SAS '03) , volume 2694 of Lecture Notes in Computer Science , pages 366 -- 382 . Springer-Verlag , 2003 .]] P. Thiemann. Continuation-based partial evaluation without continuations. In R. Cousot, editor, Proceedings of the International Symposium on Static Analysis (SAS '03), volume 2694 of Lecture Notes in Computer Science, pages 366--382. Springer-Verlag, 2003.]]"},{"key":"e_1_3_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/143165.143169"},{"key":"e_1_3_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.5555\/127960.128037"}],"event":{"name":"PEPM06: Partial Evaluation and Program Manipulation 2006","location":"Charleston South Carolina","acronym":"PEPM06","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"]},"container-title":["Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1111542.1111570","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1111542.1111570","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T16:08:24Z","timestamp":1750262904000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1111542.1111570"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2006,1,9]]},"references-count":50,"alternative-id":["10.1145\/1111542.1111570","10.1145\/1111542"],"URL":"https:\/\/doi.org\/10.1145\/1111542.1111570","relation":{},"subject":[],"published":{"date-parts":[[2006,1,9]]},"assertion":[{"value":"2006-01-09","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}