{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,5,24]],"date-time":"2025-05-24T07:26:07Z","timestamp":1748071567914},"reference-count":73,"publisher":"Elsevier BV","issue":"1","license":[{"start":{"date-parts":[[1997,1,1]],"date-time":"1997-01-01T00:00:00Z","timestamp":852076800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"},{"start":{"date-parts":[[2013,7,17]],"date-time":"2013-07-17T00:00:00Z","timestamp":1374019200000},"content-version":"vor","delay-in-days":6041,"URL":"https:\/\/www.elsevier.com\/open-access\/userlicense\/1.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Science of Computer Programming"],"published-print":{"date-parts":[[1997,1]]},"DOI":"10.1016\/s0167-6423(96)00015-9","type":"journal-article","created":{"date-parts":[[2003,4,23]],"date-time":"2003-04-23T23:52:44Z","timestamp":1051141964000},"page":"1-41","source":"Crossref","is-referenced-by-count":6,"title":["The automated transformation of abstract specifications of numerical algorithms into efficient array processor implementations"],"prefix":"10.1016","volume":"28","author":[{"given":"Stephen","family":"Fitzpatrick","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Terence J.","family":"Harmer","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Alan","family":"Stewart","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Maurice","family":"Clint","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"James M.","family":"Boyle","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"78","reference":[{"key":"10.1016\/S0167-6423(96)00015-9_BIB1","series-title":"Fortran-Plus Language Enhanced","author":"AMT","year":"1988"},{"issue":"2","key":"10.1016\/S0167-6423(96)00015-9_BIB2","doi-asserted-by":"crossref","first-page":"127","DOI":"10.1093\/comjnl\/32.2.127","article-title":"The Chalmers lazy-ML compiler","volume":"32","author":"Augustsson","year":"1989","journal-title":"Comput. J."},{"key":"10.1016\/S0167-6423(96)00015-9_BIB3","article-title":"An exploration of the Bird-Meertens formalism","author":"Backhouse","year":"1988"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB4","series-title":"Proc. Scalable High-Performance Computing Conf.","first-page":"51","article-title":"Vienna Fortran-90","author":"Benker","year":"1992"},{"issue":"2","key":"10.1016\/S0167-6423(96)00015-9_BIB5","doi-asserted-by":"crossref","first-page":"122","DOI":"10.1093\/comjnl\/32.2.122","article-title":"Algebraic identities for program calculation","volume":"32","author":"Bird","year":"1989","journal-title":"Comput. J."},{"key":"10.1016\/S0167-6423(96)00015-9_BIB6","doi-asserted-by":"crossref","first-page":"53","DOI":"10.1016\/0020-0190(87)90198-0","article-title":"The Alpha-Beta algorithm: An exercise in program transformation","volume":"24","author":"Bird","year":"1987","journal-title":"Inform. Process. Lett."},{"key":"10.1016\/S0167-6423(96)00015-9_BIB7","series-title":"Introduction to Functional Programming","author":"Bird","year":"1988"},{"issue":"2","key":"10.1016\/S0167-6423(96)00015-9_BIB8","doi-asserted-by":"crossref","first-page":"152","DOI":"10.1093\/comjnl\/32.2.152","article-title":"An optimizing compiler for a modern functional language","volume":"32","author":"Bloss","year":"1989","journal-title":"Comput. J."},{"key":"10.1016\/S0167-6423(96)00015-9_BIB9","doi-asserted-by":"crossref","first-page":"139","DOI":"10.1016\/0167-6423(92)90008-Y","article-title":"Improving recursive functions by inverting the order of evaluation","volume":"18","author":"Boiten","year":"1992","journal-title":"Sci. Comput. Programming"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB10","doi-asserted-by":"crossref","DOI":"10.2172\/4108022","article-title":"A transformational component for programming language grammar","author":"Boyle","year":"1970"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB11","series-title":"Practice in Software Adaptation and Maintenance","first-page":"3","article-title":"Program adaptation and program transformation","author":"Boyle","year":"1980"},{"issue":"5","key":"10.1016\/S0167-6423(96)00015-9_BIB12","doi-asserted-by":"crossref","first-page":"574","DOI":"10.1109\/TSE.1984.5010281","article-title":"Program reusability through program transformation","volume":"SE-10","author":"Boyle","year":"1984","journal-title":"IEEE Trans. Software Engrg."},{"key":"10.1016\/S0167-6423(96)00015-9_BIB13","series-title":"Proc. IFIP TC2\/WG2.1 Working Conf. on Constructing Programs from Specifications","first-page":"205","article-title":"Functional specifications for mathematical computations","author":"Boyle","year":"1991"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB14","first-page":"361","article-title":"Abstract programming and program transformations \u2014 An approach to reusing programs","volume":"Vol. I","author":"Boyle","year":"1989"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB15","doi-asserted-by":"crossref","first-page":"81","DOI":"10.1017\/S0956796800000289","article-title":"A practical functional program for the CRAY X-MP","volume":"2","author":"Boyle","year":"1992","journal-title":"J. Funct. Programming"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB16","series-title":"Production and Assessment of Numerical Software","first-page":"223","article-title":"Towards automatic synthesis of linear algebra programs","author":"Boyle","year":"1980"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB17","series-title":"Presented at PROCOMET '94, IFIP Working Conf. on Programming Concepts, Methods and Calculi","article-title":"Automatic, self-adaptive control of unfold transformations","author":"Boyle","year":"1994"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB18","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","year":"1977","journal-title":"ACM J."},{"key":"10.1016\/S0167-6423(96)00015-9_BIB19","doi-asserted-by":"crossref","first-page":"127","DOI":"10.1016\/0167-8191(88)90116-0","article-title":"Towards the construction of an eigenvalue engine","volume":"8","author":"Clint","year":"1988","journal-title":"Parallel Comput."},{"key":"10.1016\/S0167-6423(96)00015-9_BIB20","doi-asserted-by":"crossref","first-page":"291","DOI":"10.1080\/00207168408803415","article-title":"A comparison of two parallel algorithms for the symmetric eigenproblem","volume":"15","author":"Clint","year":"1984","journal-title":"Internat. J. Comput. Math."},{"key":"10.1016\/S0167-6423(96)00015-9_BIB21","doi-asserted-by":"crossref","first-page":"193","DOI":"10.1002\/cpe.4330060303","article-title":"Comparison of parallel Fortran environments on the AMT DAP 510 for a linear algebra application","volume":"6","author":"Clint","year":"1994","journal-title":"Concurrency: Practice and Experience"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB22","year":"1991"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB23","series-title":"Algorithmic Skeletons: Structured Management of Parallel Computation","author":"Cole","year":"1989"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB24","series-title":"PARLE '89 Parallel Architectures and Languages Europe","first-page":"176","article-title":"MaRS, a combinator graph reduction multiprocessor","volume":"Vol. 365","author":"Contessa","year":"1989"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB25","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/357153.357154","article-title":"A system for assisting program transformation","volume":"4","author":"Feather","year":"1982","journal-title":"ACM Programming Languages"},{"issue":"4","key":"10.1016\/S0167-6423(96)00015-9_BIB26","doi-asserted-by":"crossref","first-page":"349","DOI":"10.1016\/0743-7315(90)90035-N","article-title":"A report on the SISAL language project","volume":"10","author":"Feo","year":"1990","journal-title":"J. Parallel Distributed Comput."},{"key":"10.1016\/S0167-6423(96)00015-9_BIB27","series-title":"PARLE '89 Parallel Architectures and Languages Europe, I","first-page":"286","article-title":"A functional programming environment supporting execution, partial execution and transformation","volume":"Vol. 365","author":"Darlington","year":"1989"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB28","series-title":"PARLE'93: Parallel Architectures and Languages Europe","article-title":"Parallel programming using skeletons","volume":"Vol. 694","author":"Darlington","year":"1993"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB29","series-title":"Structured parallel programming: Theory meets practice","author":"Darlington","year":"1995"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB30","series-title":"Functional Programming","author":"Field","year":"1988"},{"issue":"1","key":"10.1016\/S0167-6423(96)00015-9_BIB31","doi-asserted-by":"crossref","first-page":"51","DOI":"10.1155\/1992\/519840","article-title":"Productive parallel programming: The PCN approach","volume":"1","author":"Foster","year":"1992","journal-title":"Scientific Programming"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB32","article-title":"Fortran D language specification","author":"Fox","year":"1992"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB33","series-title":"Parallel Computation and Computers for AI","first-page":"63","article-title":"QLISP","author":"Gabriel","year":"1988"},{"issue":"2","key":"10.1016\/S0167-6423(96)00015-9_BIB34","first-page":"121","article-title":"Facile: a symmetric integration of concurrent and functional programming","volume":"18","author":"Giacalone","year":"1989","journal-title":"J. Parallel Comput."},{"key":"10.1016\/S0167-6423(96)00015-9_BIB35","series-title":"FPCA '93, Conf. on Functional Programming Languages and Computer Architecture","first-page":"223","article-title":"A short cut to deforestation","author":"Gill","year":"1993"},{"issue":"3","key":"10.1016\/S0167-6423(96)00015-9_BIB36","doi-asserted-by":"crossref","first-page":"238","DOI":"10.1093\/comjnl\/36.3.238","article-title":"Parallel functional programming with arrays","volume":"36","author":"Hains","year":"1993","journal-title":"Comput. J."},{"key":"10.1016\/S0167-6423(96)00015-9_BIB37","series-title":"Parallel Computation and Computers for AI","first-page":"21","article-title":"Parallel computing using multilisp","author":"Halstead","year":"1987"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB38","series-title":"Graph Reduction","first-page":"181","article-title":"The parallel graph reductions machine ALICE","volume":"Vol. 279","author":"Harrison","year":"1986"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB39","doi-asserted-by":"crossref","first-page":"229","DOI":"10.1093\/comjnl\/31.3.229","article-title":"Algebraic transformation techniques for functional languages","volume":"31","author":"Harrison","year":"1988","journal-title":"Comput. J."},{"key":"10.1016\/S0167-6423(96)00015-9_BIB40","series-title":"PARLE '89 Parallel Architectures and Languages Europe, I","first-page":"269","article-title":"A coarse grain parallel architecture for functional languages","volume":"Vol. 365","author":"Hertzberger","year":"1989"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB41","series-title":"High Performance Fortran Language Specification","year":"1994"},{"issue":"6","key":"10.1016\/S0167-6423(96)00015-9_BIB42","doi-asserted-by":"crossref","first-page":"630","DOI":"10.1109\/32.55091","article-title":"A language for specifying program transformations","volume":"16","author":"Hildum","year":"1990","journal-title":"IEEE Trans. Software Engrg."},{"issue":"8","key":"10.1016\/S0167-6423(96)00015-9_BIB43","doi-asserted-by":"crossref","first-page":"701","DOI":"10.1007\/BF01191809","article-title":"Normal form approach to compiler design","volume":"30","author":"Hoare","year":"1993","journal-title":"Acta Inform."},{"issue":"2","key":"10.1016\/S0167-6423(96)00015-9_BIB44","doi-asserted-by":"crossref","first-page":"98","DOI":"10.1093\/comjnl\/32.2.98","article-title":"Why functional programming matters","volume":"32","author":"Hughes","year":"1989","journal-title":"Computer J."},{"key":"10.1016\/S0167-6423(96)00015-9_BIB45","series-title":"Proc. 4th Internat. Workshop on the Parallel Implementation of Functional Languages","article-title":"The nu-STG machine: a parallelized spineless tagless graph reduction machine in a distributed memory architecture","author":"Hwang","year":"1992"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB46","doi-asserted-by":"crossref","first-page":"151","DOI":"10.1145\/176454.176510","article-title":"On the conversion of indirect to direct recursion","volume":"2","author":"Kaser","year":"1993","journal-title":"ACM Lett. Programming Languages Systems"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB47","series-title":"Algebraic Methodology and Software Technology (AMAST '91)","first-page":"421","article-title":"The PROSPECTRA system: A unified development framework","author":"Karlsen","year":"1991"},{"issue":"1","key":"10.1016\/S0167-6423(96)00015-9_BIB48","doi-asserted-by":"crossref","first-page":"19","DOI":"10.1017\/S0956796800000927","article-title":"An overview of the flagship system","volume":"4","author":"Keane","year":"1994","journal-title":"J. Funct. Programming"},{"issue":"7","key":"10.1016\/S0167-6423(96)00015-9_BIB49","doi-asserted-by":"crossref","first-page":"81","DOI":"10.1145\/74818.74825","article-title":"MulT: a high-performance parallel Lisp","volume":"24","author":"Krantz","year":"1989","journal-title":"ACM SIGPLAN Notices"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB50","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1016\/0167-6423(92)90032-7","article-title":"Parallel programming with data structures and higher order functions","author":"Maa\u03b2en","year":"1992","journal-title":"Sci. Comput. Programming"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB51","series-title":"2nd IEEE Computer Society Workshop on Future Trends of Distributed Computing Systems","article-title":"An overview of the REX software architecture","author":"Magee","year":"1990"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB52","doi-asserted-by":"crossref","first-page":"255","DOI":"10.1016\/0167-6423(90)90023-7","article-title":"Data structures and program transformations","volume":"14","author":"Malcolm","year":"1990","journal-title":"Sci. Comput. Programming"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB53","series-title":"Parallel Algorithms and Architectures","first-page":"131","article-title":"SYNAPSE: a multi-microprocessor lisp machine with parallel garbage collector","volume":"Vol. 269","author":"Matsui","year":"1987"},{"issue":"2","key":"10.1016\/S0167-6423(96)00015-9_BIB54","doi-asserted-by":"crossref","first-page":"179","DOI":"10.1016\/0096-0551(91)90006-U","article-title":"Intermediate container removal","volume":"16","author":"McCrosky","year":"1991","journal-title":"Comput. Languages"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB55","series-title":"Proc. 1986 Internat. Conf. on Parallel Processing","first-page":"696","article-title":"Potentials for parallel execution of common lisp programs","author":"McGehearty","year":"1986"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB56","series-title":"Mathematics of Program Construction","first-page":"66","article-title":"Constructing a calculus of programs","volume":"Vol. 375","author":"Meertens","year":"1989"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB57","series-title":"Fortran 90 Explained","author":"Metcalf","year":"1990"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB58","series-title":"Parallel Algorithms and Matrix Computations","author":"Modi","year":"1988"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB59","series-title":"Massively Parallel Computing with the DAP","year":"1990"},{"issue":"3","key":"10.1016\/S0167-6423(96)00015-9_BIB60","doi-asserted-by":"crossref","first-page":"199","DOI":"10.1145\/356914.356917","article-title":"Program transformation systems","volume":"15","author":"Partsch","year":"1983","journal-title":"ACM Comput. Surveys"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB61","article-title":"A methodology for the development and support of massively parallel programs","author":"Pelagatti","year":"1993"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB62","doi-asserted-by":"crossref","first-page":"181","DOI":"10.1007\/BF00264438","article-title":"Deriving very efficient algorithms for evaluating linear recurrence relations using the program transformation technique","volume":"18","author":"Pettorossi","year":"1982","journal-title":"Acta Inform."},{"key":"10.1016\/S0167-6423(96)00015-9_BIB63","series-title":"The Implementation of Functional Programming Languages","author":"Peyton-Jones","year":"1987"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB64","series-title":"PARLE Parallel Architectures and Languages Europe, I","first-page":"193","article-title":"High-performance parallel graph reduction","volume":"Vol. 365","author":"Jones","year":"1989"},{"issue":"12","key":"10.1016\/S0167-6423(96)00015-9_BIB65","doi-asserted-by":"crossref","first-page":"38","DOI":"10.1109\/2.62092","article-title":"Architecture-independent parallel computation","volume":"23","author":"Skillicorn","year":"1990","journal-title":"IEEE Comput."},{"issue":"9","key":"10.1016\/S0167-6423(96)00015-9_BIB66","doi-asserted-by":"crossref","first-page":"1024","DOI":"10.1109\/32.58788","article-title":"KIDS: A semiautomatic program development system","volume":"16","author":"Smith","year":"1990","journal-title":"IEEE Trans. Software Engrg."},{"key":"10.1016\/S0167-6423(96)00015-9_BIB67","series-title":"Common Lisp","author":"Steele","year":"1986"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB68","doi-asserted-by":"crossref","first-page":"231","DOI":"10.1016\/0304-3975(90)90147-A","article-title":"Deforestation: transforming programs to eliminate trees","volume":"73","author":"Wadler","year":"1990","journal-title":"J. Theoret. Comput. Sci."},{"key":"10.1016\/S0167-6423(96)00015-9_BIB69","series-title":"Functional Programming using Standard ML","author":"Wilstr\u00f6m","year":"1987"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB70","doi-asserted-by":"crossref","first-page":"281","DOI":"10.1016\/0167-8191(90)90130-2","article-title":"Two algorithms for the parallel computation of eigenvalues and eigenvectors of large symmetric matrices using the ICL DAP","volume":"13","author":"Weston","year":"1990","journal-title":"Parallel Comput."},{"issue":"3","key":"10.1016\/S0167-6423(96)00015-9_BIB71","doi-asserted-by":"crossref","first-page":"179","DOI":"10.1002\/cpe.4330030304","article-title":"The parallel computation of eigenvalues and eigenvectors of large Hermitian matrices using the AMT DAP 510","volume":"3","author":"Weston","year":"1991","journal-title":"Concurrency: Practice and Experience"},{"issue":"7","key":"10.1016\/S0167-6423(96)00015-9_BIB72","doi-asserted-by":"crossref","first-page":"11","DOI":"10.1145\/109626.109628","article-title":"Parallel-program transformation using a metalanguage","volume":"26","author":"Yang","year":"1991","journal-title":"ACM SIGPLAN Notices"},{"key":"10.1016\/S0167-6423(96)00015-9_BIB73","article-title":"Supercompilers for Parallel and Vector Computers","author":"Zima","year":"1990"}],"container-title":["Science of Computer Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0167642396000159?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0167642396000159?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2019,4,17]],"date-time":"2019-04-17T03:55:13Z","timestamp":1555473313000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S0167642396000159"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1997,1]]},"references-count":73,"journal-issue":{"issue":"1","published-print":{"date-parts":[[1997,1]]}},"alternative-id":["S0167642396000159"],"URL":"https:\/\/doi.org\/10.1016\/s0167-6423(96)00015-9","relation":{},"ISSN":["0167-6423"],"issn-type":[{"value":"0167-6423","type":"print"}],"subject":[],"published":{"date-parts":[[1997,1]]}}}