{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,9,13]],"date-time":"2023-09-13T16:24:13Z","timestamp":1694622253721},"reference-count":29,"publisher":"Association for Computing Machinery (ACM)","issue":"3-5","license":[{"start":{"date-parts":[[2002,7,1]],"date-time":"2002-07-01T00:00:00Z","timestamp":1025481600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/2.zoppoz.workers.dev:443\/http\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Form. Asp. Comput."],"published-print":{"date-parts":[[2002,7]]},"abstract":"<jats:title>Abstract.<\/jats:title>\n          <jats:p>We present a new program transformation strategy based on the introduction of lists. This strategy is an extension of the tupling strategy which is based on the introduction of tuples of fixed length. The list introduction strategy overcomes some of the limitations of the tupling strategy and, in particular, it makes it possible to transform general recursive programs into linear recursive ones also in cases when this transformation cannot be performed by the tupling strategy. The linear recursive programs we derive by applying the list introduction strategy have in most cases very good time and space performance because they avoid repeated evaluations of goals and unnecessary constructions of data structures.<\/jats:p>","DOI":"10.1007\/s001650200011","type":"journal-article","created":{"date-parts":[[2003,12,10]],"date-time":"2003-12-10T21:38:13Z","timestamp":1071092293000},"page":"233-251","source":"Crossref","is-referenced-by-count":3,"title":["The List Introduction Strategy for the Derivation of Logic Programs"],"prefix":"10.1145","volume":"13","author":[{"given":"Alberto","family":"Pettorossi","sequence":"first","affiliation":[{"name":"Dipartimento di Informatica, Sistemi e Produzione, Universit\u00e0 di Roma Tor Vergata, Rome, Italy, IT"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Maurizio","family":"Proietti","sequence":"additional","affiliation":[{"name":"IASI-CNR, Rome, Italy, IT"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","reference":[{"key":"p_1","volume-title":"Data Structures and Algorithms","author":"Aho A.","year":"1983"},{"issue":"4","key":"p_2","doi-asserted-by":"crossref","first-page":"487","DOI":"10.1145\/1780.1781","article-title":"The promotion and accumulation strategies in transformational programming","volume":"6","author":"Bird R. S.","year":"1984","journal-title":"ACM Toplas"},{"key":"p_3","first-page":"451","volume-title":"Bad T\u00f6lz, Germany","author":"Bird R. S.","year":"1987"},{"key":"p_4","doi-asserted-by":"crossref","first-page":"135","DOI":"10.1016\/0743-1066(89)90033-2","article-title":"Compiling control","volume":"6","author":"Bruynooghe M.","year":"1989","journal-title":"Journal of Logic Programming"},{"issue":"1","key":"p_5","doi-asserted-by":"crossref","first-page":"44","DOI":"10.1145\/321992.321996","article-title":"A transformation system for developing recursive programs","volume":"24","author":"Burstall R. M.","year":"1977","journal-title":"Journal of the ACM"},{"key":"p_6","doi-asserted-by":"crossref","first-page":"93","DOI":"10.1007\/BF01177742","article-title":"A transformational method for dynamic-sized tabulation","volume":"32","author":"Chin W.-N.","year":"1995","journal-title":"Acta Informatica"},{"issue":"3","key":"p_7","doi-asserted-by":"crossref","first-page":"265","DOI":"10.1145\/2166.2167","article-title":"Eliminating redundant recursive calls","volume":"5","author":"Cohen N. H.","year":"1983","journal-title":"ACM Transactions on Programming Languages and Systems"},{"key":"p_8","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1007\/BF00264597","article-title":"A synthesis of several sorting algorithms","volume":"11","author":"Darlington J.","year":"1978","journal-title":"Acta Informatica"},{"key":"p_9","doi-asserted-by":"crossref","DOI":"10.1007\/978-1-4612-5695-3","volume-title":": Selected Writing on Computing: A Personal Perspective","author":"Dijkstra E. W.","year":"1982"},{"key":"p_10","doi-asserted-by":"crossref","first-page":"31","DOI":"10.1007\/BF00264598","article-title":"and Lang, B.: Proving and applying program transformations expressed with second-order patterns","volume":"11","author":"Huet G.","year":"1978","journal-title":"Acta Informatica"},{"key":"p_11","series-title":"Lecture Notes in Computer Science 1576","doi-asserted-by":"crossref","first-page":"288","DOI":"10.1007\/3-540-49099-X_19","volume-title":"Programming Languages and Systems: 8th European Symposium on Programming, ESOP '99","author":"Liu Y. A.","year":"1999"},{"key":"p_12","volume-title":"J","author":"Lloyd","year":"1987","edition":"2"},{"key":"p_13","volume-title":"MacGraw-Hill","author":"Manna Z.","year":"1974"},{"key":"p_14","doi-asserted-by":"crossref","first-page":"90","DOI":"10.1145\/357084.357090","article-title":"A deductive approach to program synthesis","volume":"2","author":"Manna Z.","year":"1980","journal-title":"ACM Toplas"},{"issue":"5136","key":"p_15","doi-asserted-by":"crossref","first-page":"19","DOI":"10.1038\/218019a0","article-title":"Memo functions and machine learning","volume":"218","author":"Michie D.","year":"1968","journal-title":"Nature"},{"issue":"3","key":"p_16","doi-asserted-by":"crossref","first-page":"402","DOI":"10.1145\/357172.357177","article-title":"Finite differencing of computable expressions","volume":"4","author":"Paige R.","year":"1982","journal-title":"ACM Transactions on Programming Languages and Systems"},{"issue":"2","key":"p_17","doi-asserted-by":"crossref","first-page":"360","DOI":"10.1145\/234528.234529","article-title":"Rules and strategies for transforming functional and logic programs","volume":"28","author":"Pettorossi A.","year":"1996","journal-title":"ACM Computing Surveys"},{"key":"p_18","doi-asserted-by":"crossref","first-page":"296","DOI":"10.1007\/978-0-387-35264-0_12","volume-title":"Proceedings of the IFIP TC2\/WG 2.1 Working Conference on Algorithmic Languages and Calculi","author":"Pettorossi A.","year":"1997"},{"key":"p_19","first-page":"697","volume-title":"Handbook of Logic in Artificial Intelligence and Logic Programming","author":"Pettorossi A.","year":"1998"},{"issue":"4","key":"p_20","doi-asserted-by":"crossref","first-page":"541","DOI":"10.3233\/FI-1989-12407","article-title":"The lambda abstraction strategy for program derivation","author":"Pettorossi A.","year":"1989","journal-title":"Fundamenta Informaticae"},{"issue":"1","key":"p_21","doi-asserted-by":"crossref","first-page":"89","DOI":"10.1016\/0304-3975(94)00227-A","article-title":"Unfolding-definition-folding, in this order, for avoiding unnecessary variables in logic programs","volume":"142","author":"Proietti M.","year":"1995","journal-title":"Theoretical Computer Science"},{"key":"p_22","volume-title":"IASI-CNR","author":"Renault S.","year":"1998"},{"key":"p_23","doi-asserted-by":"crossref","first-page":"107","DOI":"10.1016\/0304-3975(91)90007-O","article-title":"Unfold\/fold transformation of stratified programs","volume":"86","author":"Seki H.","year":"1991","journal-title":"Theoretical Computer Science"},{"key":"p_24","volume-title":"The Art of Prolog","author":"Sterling L. S.","year":"1994","edition":"2"},{"key":"p_25","volume-title":"Proceedings of the Second International Conference on Logic Programming","author":"Tamaki H.","year":"1984"},{"issue":"1","key":"p_26","doi-asserted-by":"crossref","first-page":"164","DOI":"10.1145\/322169.322183","article-title":"Continuation-based program transformation strategies","volume":"27","author":"Wand M.","year":"1980","journal-title":"Journal of the ACM"},{"issue":"3","key":"p_27","doi-asserted-by":"crossref","first-page":"93","DOI":"10.1145\/131295.131299","article-title":"Memoing for logic programs","volume":"35","author":"Warren D. S.","year":"1992","journal-title":"Communications of the ACM"},{"key":"p_28","doi-asserted-by":"crossref","first-page":"69","DOI":"10.1109\/TSE.1976.233533","article-title":"Goal-directed program transformation","volume":"2","author":"Wegbreit B.","year":"1976","journal-title":"IEEE Transactions on Software Engineering SE"},{"key":"p_29","first-page":"320","volume-title":"Proceedings 1988 European Conference on Artificial Intelligence, ECAI '88","author":"Zhang J.","year":"1988"}],"container-title":["Formal Aspects of Computing"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/2.zoppoz.workers.dev:443\/http\/link.springer.com\/content\/pdf\/10.1007\/s001650200011.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/2.zoppoz.workers.dev:443\/http\/link.springer.com\/article\/10.1007\/s001650200011\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/2.zoppoz.workers.dev:443\/https\/dl.acm.org\/doi\/pdf\/10.1007\/s001650200011","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,1,6]],"date-time":"2022-01-06T15:39:13Z","timestamp":1641483553000},"score":1,"resource":{"primary":{"URL":"https:\/\/2.zoppoz.workers.dev:443\/https\/dl.acm.org\/doi\/10.1007\/s001650200011"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2002,7]]},"references-count":29,"journal-issue":{"issue":"3-5","published-print":{"date-parts":[[2002,7]]}},"alternative-id":["10.1007\/s001650200011"],"URL":"https:\/\/2.zoppoz.workers.dev:443\/https\/doi.org\/10.1007\/s001650200011","relation":{},"ISSN":["0934-5043","1433-299X"],"issn-type":[{"value":"0934-5043","type":"print"},{"value":"1433-299X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2002,7]]}}}