{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,18]],"date-time":"2025-11-18T20:47:38Z","timestamp":1763498858087},"reference-count":32,"publisher":"Wiley","issue":"9","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":4077,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1995,9]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Experiences are described of parallelizing a functional finite\u2010element program (written in Haskell) for the solution of computational fluid\u2010dynamics problems. A transformation prototyping approach using a system developed at the University of York, which simulates idealised parallel machines on a conventional sequential workstation, is presented. In this paper we demonstrate: (a) the relative simplicity of the functional approach for parallelizing a complex program compared with the conventional procedural approach; (b) the suitability of functional languages for prototyping parallel algorithms to improve an implementation; and (c) the considerable assistance provided by the simulator.<\/jats:p>","DOI":"10.1002\/spe.4380250902","type":"journal-article","created":{"date-parts":[[2006,11,17]],"date-time":"2006-11-17T18:10:33Z","timestamp":1163787033000},"page":"947-974","source":"Crossref","is-referenced-by-count":6,"title":["Experiences of parallelising finite\u2010element problems in a functional style"],"prefix":"10.1002","volume":"25","author":[{"given":"P. W.","family":"Grant","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"J. A.","family":"Sharp","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"M. F.","family":"Webster","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"X.","family":"Zhang","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"key":"e_1_2_1_2_2","doi-asserted-by":"crossref","unstructured":"P. Hudak S. L. Peyton Jones and P. Wadler (eds) \u2018Report on the programming language Haskell a non\u2010strict purely functional language (Version 1.2)\u2019 SIGPLAN Notices(May1992).","DOI":"10.1145\/130697.130699"},{"key":"e_1_2_1_3_2","volume-title":"An Introduction to Functional Programming Systems Using Haskell","author":"Davie A. J. T.","year":"1992"},{"key":"e_1_2_1_4_2","first-page":"T12","volume-title":"Proc. Int. Conf. Num. Meth. Eng.: Theory and Applications","author":"Townsend P.","year":"1987"},{"key":"e_1_2_1_4_3","first-page":"T12","volume-title":"Proc. Int. Conf. Num. Meth. Eng.: Theory and Applications"},{"key":"e_1_2_1_5_2","doi-asserted-by":"publisher","DOI":"10.1002\/fld.1650100307"},{"key":"e_1_2_1_6_2","unstructured":"P. W.Grant J. A.Sharp M. F.WebsterandX.Zhang \u2018A Haskell implementation of a generalized envelope method for sparse matrix factorization\u2019 inProc. ATABLE\u201092 Montreal June1992 pp.247\u2013260."},{"key":"e_1_2_1_7_2","first-page":"75","volume-title":"Proc. Computational Mechanics in UK","author":"Grant P. W.","year":"1993"},{"key":"e_1_2_1_8_2","doi-asserted-by":"publisher","DOI":"10.1145\/165180.165186"},{"key":"e_1_2_1_9_2","volume-title":"Parallel Functional Language and Compilers","author":"Hudak Paul","year":"1991"},{"key":"e_1_2_1_10_2","doi-asserted-by":"publisher","DOI":"10.1145\/135226.135231"},{"key":"e_1_2_1_11_2","unstructured":"P. H.Hartelet al. \u2018Pseudoknot: a float\u2010intensive benchmark for functional compilers\u2019 in IFL \u203294 Workshop Norwich UK 1994."},{"key":"e_1_2_1_12_2","volume-title":"Computational Fluid Dynamics \u203294, 2nd European CFD Conf.","author":"Burgess D. A.","year":"1994"},{"key":"e_1_2_1_12_3","volume-title":"Computational Fluid Dynamics \u203294, 2nd European CFD Conf."},{"key":"e_1_2_1_13_2","volume-title":"Applied Functional Programming","author":"Wakeling D.","year":"1995"},{"key":"e_1_2_1_14_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-94-010-9333-0"},{"key":"e_1_2_1_15_2","doi-asserted-by":"publisher","DOI":"10.1002\/nme.1620350203"},{"key":"e_1_2_1_16_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-86940-2"},{"key":"e_1_2_1_17_2","unstructured":"P. W.Grant J. A.Sharp M. F.WebsterandX.Zhang \u2018An implementation of the Haskell array prelude using pruned radix tries\u2019 Technical Report FLARE\/S\/7 Dept. of Computer Science University of Wales Swansea March1992."},{"key":"e_1_2_1_18_2","doi-asserted-by":"crossref","unstructured":"S. L.Peyton JonesandP.Wadler \u2018Imperative functional programming\u2019 inACM Symposium on Principles of Programming Languages Charleston January1993 pp.71\u201384.","DOI":"10.1145\/158511.158524"},{"key":"e_1_2_1_19_2","doi-asserted-by":"publisher","DOI":"10.1016\/0167-6423(90)90056-J"},{"key":"e_1_2_1_20_2","unstructured":"David S.Wise \u2018Matrix algorithms using quadtrees (invited talk)\u2019 inProc. ATABLE\u201092 Montreal June1992 pp.11\u201326."},{"key":"e_1_2_1_21_2","unstructured":"P. W.Grant J. A.Sharp M. F.WebsterandX.Zhang \u2018Sparse matrix representations in a functional language\u2019 J. Functional Programming 1994 submitted."},{"key":"e_1_2_1_22_2","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796800000265"},{"key":"e_1_2_1_23_2","unstructured":"I. S.Duff A. M.ErismanandJ. K.Reid Direct Methods for Sparsc Matrices Clarendon Oxford 1986."},{"key":"e_1_2_1_24_2","volume-title":"Applied Functional Programming","author":"Zhang X.","year":"1995"},{"key":"e_1_2_1_25_2","volume-title":"Introduction to Functional Programming","author":"Bird R.","year":"1988"},{"key":"e_1_2_1_26_2","volume-title":"The Implementation of Functional Programming Languages","author":"Peyton Jones S. L.","year":"1987"},{"key":"e_1_2_1_27_2","doi-asserted-by":"publisher","DOI":"10.1002\/cnm.1630080906"},{"key":"e_1_2_1_28_2","doi-asserted-by":"publisher","DOI":"10.1002\/nme.1620201102"},{"key":"e_1_2_1_29_2","first-page":"265","volume-title":"Environments and Tools for Parallel Scientific Computing","author":"Barrett R.","year":"1993"},{"key":"e_1_2_1_30_2","first-page":"31","volume-title":"Environments and Tools for Parallel Scientific Computing","author":"Dongarra J. J.","year":"1993"},{"key":"e_1_2_1_31_2","first-page":"17","volume-title":"Environments and Tools for Parallel Scientific Computing","author":"Choi J.","year":"1993"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380250902","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380250902","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,26]],"date-time":"2023-10-26T23:06:11Z","timestamp":1698361571000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380250902"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1995,9]]},"references-count":32,"journal-issue":{"issue":"9","published-print":{"date-parts":[[1995,9]]}},"alternative-id":["10.1002\/spe.4380250902"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380250902","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1995,9]]}}}