{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,26]],"date-time":"2026-05-26T23:05:17Z","timestamp":1779836717275,"version":"3.53.1"},"reference-count":27,"publisher":"Cambridge University Press (CUP)","issue":"2","license":[{"start":{"date-parts":[[2008,11,7]],"date-time":"2008-11-07T00:00:00Z","timestamp":1226016000000},"content-version":"unspecified","delay-in-days":4634,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["J. Funct. Prog."],"published-print":{"date-parts":[[1996,3]]},"abstract":"<jats:title>Abstract<\/jats:title>\n                  <jats:p>Compiler generation based on Mosses' action semantics has been studied by Brown, Moura, and Watt, and also by the second author. The core of each of their systems is a handwritten action compiler, producing either C or machine code. We have obtained an action compiler in a much simpler way: by partial evaluation of an action interpreter. Even though our compiler produces Scheme code, the code runs as fast as that produced by the previous action compilers.<\/jats:p>","DOI":"10.1017\/s0956796800001684","type":"journal-article","created":{"date-parts":[[2008,11,7]],"date-time":"2008-11-07T11:11:13Z","timestamp":1226056273000},"page":"269-298","source":"Crossref","is-referenced-by-count":10,"title":["Generating action compilers by partial evaluation"],"prefix":"10.1017","volume":"6","author":[{"given":"Anders","family":"Bondorf","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jens","family":"Palsberg","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"56","published-online":{"date-parts":[[2008,11,7]]},"reference":[{"key":"S0956796800001684_ref018","doi-asserted-by":"publisher","DOI":"10.1017\/CBO9780511569869"},{"key":"S0956796800001684_ref019","unstructured":"Mosses P. D. and Watt D. A. (1987) The use of action semantics. In Proc. IFIP TC2 Working Conference on Formal Description of Programming Concepts III (Gl. Avern\u00e6s, 1986), pp. 135\u2013163. North-Holland."},{"key":"S0956796800001684_ref024","doi-asserted-by":"crossref","unstructured":"Wand M. (1984) A semantic prototyping system. In Proc. ACM SIGPLAN'84 Symposium on Compiler Construction, pp. 213\u2013221. Sigplan Notices.","DOI":"10.1145\/502949.502895"},{"key":"S0956796800001684_ref011","first-page":"225","volume-title":"Proc. Rewriting Techniques and Applications","author":"Jones","year":"1985"},{"key":"S0956796800001684_ref015","volume-title":"SIS\u2014semantics implementation system","author":"Mosses","year":"1979"},{"key":"S0956796800001684_ref021","doi-asserted-by":"crossref","unstructured":"Palsberg J. (1992b) Provably Correct Compiler Generation. PhD thesis, Computer Science Department, Aarhus University.","DOI":"10.7146\/dpb.v21i422.6736"},{"key":"S0956796800001684_ref001","first-page":"54","volume-title":"Proc. of PEPM'92, Workshop on Partial Evaluation and Semantics-Based Program Manipulation","author":"Andersen","year":"1992"},{"key":"S0956796800001684_ref003","doi-asserted-by":"publisher","DOI":"10.1145\/141471.141483"},{"key":"S0956796800001684_ref004","volume-title":"Similix 5.0 Manual","author":"Bondorf","year":"1993"},{"key":"S0956796800001684_ref016","doi-asserted-by":"publisher","DOI":"10.1007\/BFb0028970"},{"key":"S0956796800001684_ref005","doi-asserted-by":"publisher","DOI":"10.1016\/0167-6423(91)90002-F"},{"key":"S0956796800001684_ref006","doi-asserted-by":"crossref","unstructured":"Brown D. F. , Moura H. and Watt D. A. (1992) Actress: an action semantics directed compiler generator. In Proc. CC'92, 4th International Conference on Compiler Construction, Paderborn, Germany, pp. 95\u2013109. Springer-Verlag (LNCS 641).","DOI":"10.1007\/3-540-55984-1_11"},{"key":"S0956796800001684_ref023","doi-asserted-by":"crossref","unstructured":"Paulson L. (1982). A semantics-directed compiler generator. In Ninth Symposium on Principles of Programming Languages, pp. 224\u2013233)","DOI":"10.1145\/582153.582178"},{"key":"S0956796800001684_ref007","doi-asserted-by":"crossref","unstructured":"Consel C and Danvy O. (1991) Static and dynamic semantics processing. In Eighteenth Symposium on Principles of Programming Languages, pp. 14\u201324.","DOI":"10.1145\/99583.99588"},{"key":"S0956796800001684_ref008","unstructured":"Danvy O. , Malmkj\u00e6r K. and Palsberg J. (1994) The essence of eta-expansion in partial evaluation. Lisp and Symbolic Computation. To appear. Also in Proc. PEPM'94, ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, pp. 11\u201320."},{"key":"S0956796800001684_ref002","doi-asserted-by":"publisher","DOI":"10.1016\/0167-6423(91)90035-V"},{"key":"S0956796800001684_ref009","doi-asserted-by":"publisher","DOI":"10.1145\/128861.128864"},{"key":"S0956796800001684_ref013","volume-title":"Realistic Compiler Generation","author":"Lee","year":"1989"},{"key":"S0956796800001684_ref014","volume-title":"Proc. PEPM'93, Partial Evaluation and Semantics-Based Program Manipulation","author":"Malmkj\u00e6r","year":"1993"},{"key":"S0956796800001684_ref017","doi-asserted-by":"crossref","DOI":"10.7146\/dpb.v20i370.6602","volume-title":"An introduction to action semantics","author":"Mosses","year":"1991"},{"key":"S0956796800001684_ref020","doi-asserted-by":"crossref","unstructured":"Palsberg J. (1992 a) An automatically generated and provably correct compiler for a subset of Ada. In Proc. ICCL'92, Fourth IEEE International Conference on Computer Languages, pp. 117\u2013126.","DOI":"10.7146\/dpb.v21i383.6615"},{"key":"S0956796800001684_ref010","volume-title":"Partial Evaluation and Automatic Program Generation","author":"Jones","year":"1993"},{"key":"S0956796800001684_ref012","doi-asserted-by":"crossref","unstructured":"J\u00f8rgensen J. (1992) Generating a compiler for a lazy language by partial evaluation. In Nineteenth Annual ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages. Albuquerque, New Mexico, pp. 258\u2013268.","DOI":"10.1145\/143165.143220"},{"key":"S0956796800001684_ref025","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796800000782"},{"key":"S0956796800001684_ref027","unstructured":"Watt D. A. (1992) Personal communication."},{"key":"S0956796800001684_ref026","volume-title":"Programming Language Syntax and Semantics","author":"Watt","year":"1991"},{"key":"S0956796800001684_ref022","doi-asserted-by":"crossref","unstructured":"Palsberg J. (1992c) A provably correct compiler generator. In Proc. ESOP'92, European Symposium on Programming, pp. 418\u2013434. Springer-Verlag (LNCS 582).","DOI":"10.1007\/3-540-55253-7_25"}],"container-title":["Journal of Functional Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S0956796800001684","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,5,26]],"date-time":"2026-05-26T22:35:22Z","timestamp":1779834922000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S0956796800001684\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1996,3]]},"references-count":27,"journal-issue":{"issue":"2","published-print":{"date-parts":[[1996,3]]}},"alternative-id":["S0956796800001684"],"URL":"https:\/\/doi.org\/10.1017\/s0956796800001684","relation":{},"ISSN":["0956-7968","1469-7653"],"issn-type":[{"value":"0956-7968","type":"print"},{"value":"1469-7653","type":"electronic"}],"subject":[],"published":{"date-parts":[[1996,3]]}}}