{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,4]],"date-time":"2026-06-04T03:50:43Z","timestamp":1780545043384,"version":"3.54.1"},"publisher-location":"Berlin, Heidelberg","reference-count":84,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"value":"9783642320958","type":"print"},{"value":"9783642320965","type":"electronic"}],"license":[{"start":{"date-parts":[[2012,1,1]],"date-time":"2012-01-01T00:00:00Z","timestamp":1325376000000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2012]]},"DOI":"10.1007\/978-3-642-32096-5_5","type":"book-chapter","created":{"date-parts":[[2012,7,11]],"date-time":"2012-07-11T02:23:57Z","timestamp":1341973437000},"page":"207-278","source":"Crossref","is-referenced-by-count":16,"title":["Single Assignment C (SAC) High Productivity Meets High Performance"],"prefix":"10.1007","author":[{"given":"Clemens","family":"Grelck","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","reference":[{"key":"5_CR1","unstructured":"Moore, G.E.: Cramming more components onto integrated circuits. Electronics 38 (1965)"},{"key":"5_CR2","unstructured":"Sutter, H.: The free lunch is over: A fundamental turn towards concurrency in software. Dr.\u00a0Dobb\u2019s Journal 30 (2005)"},{"key":"5_CR3","unstructured":"Meuer, H., Strohmaier, E., Simon, H., Dongarra, J.: 38th top500 list (2011), \n                  \n                    www.top500.org"},{"key":"5_CR4","unstructured":"Intel: Product Brief: Intel Xeon Processor 7500 Series. Intel (2010)"},{"key":"5_CR5","unstructured":"AMD: AMD Opteron 6000 Series Platform Quick Reference Guide. AMD (2011)"},{"key":"5_CR6","doi-asserted-by":"publisher","first-page":"56","DOI":"10.1109\/MM.2003.1196115","volume":"23","author":"D. Koufaty","year":"2003","unstructured":"Koufaty, D., Marr, D.: Hyperthreading technology in the netburst microarchitecture. IEEE Micro\u00a023, 56\u201365 (2003)","journal-title":"IEEE Micro"},{"key":"5_CR7","unstructured":"Sun\/Oracle: Oracle\u2019s SPARC T3-1, SPARC T3-2, SPARC T3-4 and SPARC T3-1B Server Architecture. Whitepaper, Oracle (2011)"},{"key":"5_CR8","doi-asserted-by":"publisher","first-page":"131","DOI":"10.1109\/JSSC.2010.2080491","volume":"46","author":"J.L. Shin","year":"2011","unstructured":"Shin, J.L., Huang, D., Petrick, B., et al.: A 40 nm 16-core 128-thread SPARC SoC processor. IEEE Journal of Solid-State Circuits\u00a046, 131\u2013144 (2011)","journal-title":"IEEE Journal of Solid-State Circuits"},{"key":"5_CR9","doi-asserted-by":"publisher","first-page":"383","DOI":"10.1007\/s10766-006-0018-x","volume":"34","author":"C. Grelck","year":"2006","unstructured":"Grelck, C., Scholz, S.B.: SAC: A functional array language for efficient multithreaded execution. Int. Journal of Parallel Programming\u00a034, 383\u2013427 (2006)","journal-title":"Int. Journal of Parallel Programming"},{"key":"5_CR10","doi-asserted-by":"crossref","unstructured":"Grelck, C., Scholz, S.B.: SAC: Off-the-Shelf Support for Data-Parallelism on Multicores. In: Glew, N., Blelloch, G. (eds.) 2nd Workshop on Declarative Aspects of Multicore Programming (DAMP 2007), Nice, France, pp. 25\u201333. ACM Press (2007)","DOI":"10.1145\/1248648.1248654"},{"key":"5_CR11","doi-asserted-by":"publisher","first-page":"324","DOI":"10.1147\/rd.174.0324","volume":"17","author":"A. Falkoff","year":"1973","unstructured":"Falkoff, A., Iverson, K.: The Design of APL. IBM Journal of Research and Development\u00a017, 324\u2013334 (1973)","journal-title":"IBM Journal of Research and Development"},{"key":"5_CR12","unstructured":"International Standards Organization: Programming Language APL, Extended. ISO N93.03, ISO (1993)"},{"key":"5_CR13","unstructured":"Hui, R.: An Implementation of J. Iverson Software Inc., Toronto (1992)"},{"key":"5_CR14","doi-asserted-by":"publisher","first-page":"111","DOI":"10.1002\/spe.4380190203","volume":"19","author":"M. Jenkins","year":"1989","unstructured":"Jenkins, M.: Q\u2019Nial: A Portable Interpreter for the Nested Interactive Array Language Nial. Software Practice and Experience\u00a019, 111\u2013126 (1989)","journal-title":"Software Practice and Experience"},{"key":"5_CR15","doi-asserted-by":"publisher","first-page":"149","DOI":"10.1016\/j.sysarc.2008.07.001","volume":"55","author":"K. Bousias","year":"2009","unstructured":"Bousias, K., Guang, L., Jesshope, C., Lankamp, M.: Implementation and Evaluation of a Microthread Architecture. J. Systems Architecture\u00a055, 149\u2013161 (2009)","journal-title":"J. Systems Architecture"},{"key":"5_CR16","unstructured":"Schildt, H.: American National Standards Institute, International Organization for Standardization, International Electrotechnical Commission, ISO\/IEC JTC 1: The annotated ANSI C standard: American National Standard for Programming Languages C: ANSI\/ISO 9899-1990. McGraw-Hill (1990)"},{"key":"5_CR17","unstructured":"Kernighan, B., Ritchie, D.: The C Programming Language. Prentice-Hall (1988)"},{"key":"5_CR18","doi-asserted-by":"crossref","unstructured":"Iverson, K.: A Programming Language. John Wiley (1962)","DOI":"10.1145\/1460833.1460872"},{"key":"5_CR19","unstructured":"Iverson, K.: Programming in J. Iverson Software Inc., Toronto (1991)"},{"key":"5_CR20","unstructured":"Burke, C.: J and APL. Iverson Software Inc., Toronto (1996)"},{"key":"5_CR21","volume-title":"The Q\u2019Nial Language and Reference Manual","author":"M. Jenkins","year":"1993","unstructured":"Jenkins, M., Jenkins, W.: The Q\u2019Nial Language and Reference Manual. Nial Systems Ltd., Ottawa (1993)"},{"key":"5_CR22","doi-asserted-by":"crossref","unstructured":"Mullin, L.R., Jenkins, M.: A Comparison of Array Theory and a Mathematics of Arrays. In: Arrays, Functional Languages and Parallel Systems, pp. 237\u2013269. Kluwer Academic Publishers (1991)","DOI":"10.1007\/978-1-4615-4002-1_14"},{"key":"5_CR23","doi-asserted-by":"publisher","first-page":"499","DOI":"10.1002\/(SICI)1096-9128(199609)8:7<499::AID-CPE230>3.0.CO;2-1","volume":"8","author":"L.R. Mullin","year":"1996","unstructured":"Mullin, L.R., Jenkins, M.: Effective Data Parallel Computation using the Psi Calculus. Concurrency \u2014 Practice and Experience\u00a08, 499\u2013515 (1996)","journal-title":"Concurrency \u2014 Practice and Experience"},{"key":"5_CR24","doi-asserted-by":"crossref","unstructured":"Dagum, L., Menon, R.: OpenMP: An Industry-Standard API for Shared-Memory Programming. IEEE Transactions on Computational Science and Engineering 5 (1998)","DOI":"10.1109\/99.660313"},{"key":"5_CR25","unstructured":"Chapman, B., Jost, G., van der Pas, R.: Using OpenMP: Portable Shared Memory Parallel Programming. MIT Press (2008)"},{"key":"5_CR26","unstructured":"Gropp, W., Lusk, E., Skjellum, A.: Using MPI: Portable Parallel Programming with the Message Passing Interface. MIT Press (1994)"},{"key":"5_CR27","unstructured":"Douma, R.: Nested Arrays in Single Assignment C. Master\u2019s thesis, University of Amsterdam, Amsterdam, Netherlands (2011)"},{"key":"5_CR28","doi-asserted-by":"publisher","first-page":"643","DOI":"10.1016\/j.jlap.2009.03.002","volume":"78","author":"K. Trojahner","year":"2009","unstructured":"Trojahner, K., Grelck, C.: Dependently Typed Array Programs Don\u2019t Go Wrong. Journal of Logic and Algebraic Programming\u00a078, 643\u2013664 (2009)","journal-title":"Journal of Logic and Algebraic Programming"},{"key":"5_CR29","unstructured":"Trojahner, K.: QUBE \u2014 Array Programming with Dependent Types. PhD thesis, University of L\u00fcbeck, L\u00fcbeck, Germany (2011)"},{"key":"5_CR30","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"182","DOI":"10.1007\/3-540-44854-3_12","volume-title":"Implementation of Functional Languages","author":"C. Grelck","year":"2003","unstructured":"Grelck, C., Scholz, S.B.: Axis Control in SAC. In: Pe\u00f1a, R., Arts, T. (eds.) IFL 2002. LNCS, vol.\u00a02670, pp. 182\u2013198. Springer, Heidelberg (2003)"},{"key":"5_CR31","doi-asserted-by":"crossref","unstructured":"Wadler, P.: Comprehending Monads. Mathematical Structures in Computer Science 2 (1992)","DOI":"10.1017\/S0960129500001560"},{"key":"5_CR32","doi-asserted-by":"publisher","first-page":"293","DOI":"10.1007\/BF01018827","volume":"8","author":"S. Peyton Jones","year":"1995","unstructured":"Peyton Jones, S., Launchbury, J.: State in Haskell. Lisp and Symbolic Computation\u00a08, 293\u2013341 (1995)","journal-title":"Lisp and Symbolic Computation"},{"key":"5_CR33","doi-asserted-by":"crossref","unstructured":"Smetsers, S., Barendsen, E., van Eekelen, M., Plasmeijer, M.: Guaranteeing Safe Destructive Updates through a Type System with Uniqueness Information for Graphs. Technical report, University of Nijmegen, Nijmegen, Netherlands (1993)","DOI":"10.1007\/3-540-57787-4_23"},{"key":"5_CR34","doi-asserted-by":"publisher","first-page":"81","DOI":"10.1017\/S0956796800001258","volume":"5","author":"P. Achten","year":"1995","unstructured":"Achten, P., Plasmeijer, M.: The ins and outs of Clean I\/O. Journal of Functional Programming\u00a05, 81\u2013110 (1995)","journal-title":"Journal of Functional Programming"},{"key":"5_CR35","unstructured":"Grelck, C.: Integration eines Modul- und Klassen-Konzeptes in die funktionale Programmiersprache SAC \u2013 Single Assignment C. Master\u2019s thesis, University of Kiel, Germany (1996)"},{"key":"5_CR36","unstructured":"Grelck, C., Scholz, S.B.: Classes and Objects as Basis for I\/O in SAC. In: 7th International Workshop on Implementation of Functional Languages (IFL 1995), B\u00e5stad, Sweden, pp. 30\u201344. Chalmers University of Technology, Gothenburg (1995)"},{"key":"5_CR37","doi-asserted-by":"crossref","unstructured":"Herhut, S., Scholz, S.B., Grelck, C.: Controllling Chaos \u2014 On Safe Side-Effects in Data-Parallel Operations. In: 4th Workshop on Declarative Aspects of Multicore Programming (DAMP 2009), Savannah, USA, pp. 59\u201367. ACM Press (2009)","DOI":"10.1145\/1481839.1481847"},{"key":"5_CR38","doi-asserted-by":"publisher","first-page":"38","DOI":"10.1007\/s10766-009-0121-x","volume":"38","author":"C. Grelck","year":"2010","unstructured":"Grelck, C., Scholz, S., Shafarenko, A.: Asynchronous Stream Processing with S-Net. International Journal of Parallel Programming\u00a038, 38\u201367 (2010)","journal-title":"International Journal of Parallel Programming"},{"key":"5_CR39","doi-asserted-by":"publisher","first-page":"1005","DOI":"10.1017\/S0956796802004458","volume":"13","author":"S.B. Scholz","year":"2003","unstructured":"Scholz, S.B.: Single Assignment C \u2014 efficient support for high-level array operations in a functional setting. Journal of Functional Programming\u00a013, 1005\u20131059 (2003)","journal-title":"Journal of Functional Programming"},{"key":"5_CR40","doi-asserted-by":"crossref","unstructured":"Grelck, C., van Deurzen, T., Herhut, S., Scholz, S.B.: Asynchronous Adaptive Optimisation for Generic Data-Parallel Array Programming. Concurrency and Computation: Practice and Experience (2011)","DOI":"10.1002\/cpe.1842"},{"key":"5_CR41","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"72","DOI":"10.1007\/BFb0055425","volume-title":"Implementation of Functional Languages","author":"S.-B. Scholz","year":"1998","unstructured":"Scholz, S.-B.: WITH-Loop-Folding in SAC - Condensing Consecutive Array Operations. In: Clack, C., Hammond, K., Davie, T. (eds.) IFL 1997. LNCS, vol.\u00a01467, pp. 72\u201392. Springer, Heidelberg (1998)"},{"key":"5_CR42","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"178","DOI":"10.1007\/11964681_11","volume-title":"Implementation and Application of Functional Languages","author":"C. Grelck","year":"2006","unstructured":"Grelck, C., Hinckfu\u00df, K., Scholz, S.B.: With-Loop Fusion for Data Locality and Parallelism. In: Butterfield, A., Grelck, C., Huch, F. (eds.) IFL 2005. LNCS, vol.\u00a04015, pp. 178\u2013195. Springer, Heidelberg (2006)"},{"key":"5_CR43","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"118","DOI":"10.1007\/978-3-540-27861-0_8","volume-title":"Implementation of Functional Languages","author":"C. Grelck","year":"2004","unstructured":"Grelck, C., Scholz, S.-B., Trojahner, K.: With-Loop Scalarization \u2013 Merging Nested Array Operations. In: Trinder, P., Michaelson, G.J., Pe\u00f1a, R. (eds.) IFL 2003. LNCS, vol.\u00a03145, pp. 118\u2013134. Springer, Heidelberg (2004)"},{"key":"5_CR44","doi-asserted-by":"publisher","first-page":"507","DOI":"10.1016\/j.parco.2006.08.003","volume":"32","author":"C. Grelck","year":"2006","unstructured":"Grelck, C., Scholz, S.B.: Merging compositions of array skeletons in SAC. Journal of Parallel Computing\u00a032, 507\u2013522 (2006)","journal-title":"Journal of Parallel Computing"},{"key":"5_CR45","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"19","DOI":"10.1007\/978-3-540-74130-5_2","volume-title":"Implementation and Application of Functional Languages","author":"R. Bernecky","year":"2007","unstructured":"Bernecky, R., Herhut, S., Scholz, S.-B., Trojahner, K., Grelck, C., Shafarenko, A.: Index Vector Elimination \u2013 Making Index Vectors Affordable. In: Horv\u00e1th, Z., Zs\u00f3k, V., Butterfield, A. (eds.) IFL 2006. LNCS, vol.\u00a04449, pp. 19\u201336. Springer, Heidelberg (2007)"},{"key":"5_CR46","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"231","DOI":"10.1007\/3-540-45361-X_14","volume-title":"Implementation of Functional Languages","author":"C. Grelck","year":"2001","unstructured":"Grelck, C.: Improving Cache Effectiveness through Array Data Layout Manipulation in SAC. In: Mohnen, M., Koopman, P. (eds.) IFL 2000. LNCS, vol.\u00a02011, pp. 231\u2013248. Springer, Heidelberg (2001)"},{"key":"5_CR47","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"77","DOI":"10.1007\/10722298_5","volume-title":"Implementation of Functional Languages","author":"C. Grelck","year":"2000","unstructured":"Grelck, C., Kreye, D., Scholz, S.B.: On Code Generation for Multi-Generator WITH-Loops in SAC. In: Koopman, P., Clack, C. (eds.) IFL 1999. LNCS, vol.\u00a01868, pp. 77\u201394. Springer, Heidelberg (2000)"},{"key":"5_CR48","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/BFb0017182","volume-title":"Memory Management","author":"P.R. Wilson","year":"1992","unstructured":"Wilson, P.R.: Uniprocessor Garbage Collection Techniques. In: Bekkers, Y., Cohen, J. (eds.) IWMM 1992. LNCS, vol.\u00a0637, pp. 1\u201342. Springer, Heidelberg (1992)"},{"key":"5_CR49","unstructured":"Jones, R.: Garbage Collection: Algorithms for Automatic Dynamic Memory Management. John Wiley (1999)"},{"key":"5_CR50","doi-asserted-by":"crossref","unstructured":"Marlow, S., Harris, T., James, R.P., Peyton Jones, S.: Parallel generational-copying garbage collection with a block-structured heap. In: 7th Int. Symposium on Memory Management (ISMM 2008), Tucson, AZ, USA, pp. 11\u201320. ACM (2008)","DOI":"10.1145\/1375634.1375637"},{"key":"5_CR51","doi-asserted-by":"crossref","unstructured":"Hudak, P., Bloss, A.: The Aggregate Update Problem in Functional Programming Systems. In: 12th ACM Symposium on Principles of Programming Languages (POPL 1985), New Orleans, USA, pp. 300\u2013313. ACM Press (1985)","DOI":"10.1145\/318593.318660"},{"key":"5_CR52","doi-asserted-by":"publisher","first-page":"655","DOI":"10.1145\/367487.367501","volume":"3","author":"G.E. Collins","year":"1960","unstructured":"Collins, G.E.: A Method for Overlapping and Erasure of Lists. CACM\u00a03, 655\u2013657 (1960)","journal-title":"CACM"},{"key":"5_CR53","unstructured":"Grelck, C., Trojahner, K.: Implicit Memory Management for SaC. In: 16th International Workshop on Implementation and Application of Functional Languages, IFL 2004, L\u00fcbeck, Germany, pp. 335\u2013348. University of Kiel, Institute of Computer Science and Applied Mathematics (2004); Technical Report 0408"},{"key":"5_CR54","unstructured":"Grelck, C., Scholz, S.B.: Efficient Heap Management for Declarative Data Parallel Programming on Multicores. In: 3rd Workshop on Declarative Aspects of Multicore Programming (DAMP 2008), San Francisco, CA, USA, pp. 17\u201331. ACM Press (2008)"},{"key":"5_CR55","unstructured":"Grelck, C.: A Multithreaded Compiler Backend for High-Level Array Programming. In: 2nd International Conference on Parallel and Distributed Computing and Networks (PDCN 2003), Innsbruck, Austria, pp. 478\u2013484. ACTA Press (2003)"},{"key":"5_CR56","doi-asserted-by":"publisher","first-page":"353","DOI":"10.1017\/S0956796805005538","volume":"15","author":"C. Grelck","year":"2005","unstructured":"Grelck, C.: Shared memory multiprocessor support for functional array processing in SAC. Journal of Functional Programming\u00a015, 353\u2013401 (2005)","journal-title":"Journal of Functional Programming"},{"key":"5_CR57","unstructured":"Zhangzheng, Z.: Using OpenMP as an Alternative Parallelization Strategy in SAC. Master\u2019s thesis, University of Amsterdam, Amsterdam, Netherlands (2011)"},{"key":"5_CR58","unstructured":"Kirk, D., Hwu, W.: Programming Massively Parallel Processors: A Hands-on Approach. Morgan Kaufmann (2010)"},{"key":"5_CR59","doi-asserted-by":"crossref","unstructured":"Guo, J., Thiyagalingam, J., Scholz, S.B.: Breaking the GPU programming barrier with the auto-parallelising SAC compiler. In: 6th Workshop on Declarative Aspects of Multicore Programming (DAMP 2011), Austin, TX, USA. ACM Press (2011)","DOI":"10.1145\/1926354.1926359"},{"key":"5_CR60","doi-asserted-by":"publisher","first-page":"51","DOI":"10.1142\/S0129626410000053","volume":"20","author":"T. Bernard","year":"2010","unstructured":"Bernard, T., Grelck, C., Jesshope, C.: On the compilation of a language for general concurrent target architectures. Parallel Processing Letters\u00a020, 51\u201369 (2010)","journal-title":"Parallel Processing Letters"},{"key":"5_CR61","unstructured":"Herhut, S., Joslin, C., Scholz, S.B., Grelck, C.: Truly Nested Data-Parallelism: Compiling SAC to the Microgrid Architecture. In: 21st Symposium on Implementation and Application of Functional Languages (IFL 2009), South Orange, NJ, USA. Seton Hall University (2009)"},{"key":"5_CR62","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"185","DOI":"10.1007\/978-3-642-24276-2_12","volume-title":"Implementation and Application of Functional Languages","author":"S. Herhut","year":"2011","unstructured":"Herhut, S., Joslin, C., Scholz, S.-B., Poss, R., Grelck, C.: Concurrent Non-deferred Reference Counting on the Microgrid: First Experiences. In: Hage, J., Moraz\u00e1n, M.T. (eds.) IFL 2010. LNCS, vol.\u00a06647, pp. 185\u2013202. Springer, Heidelberg (2011)"},{"key":"5_CR63","unstructured":"Wieser, V., Grelck, C., Haslinger, P., Guo, J., Korzeniowski, F., Bernecky, R., Moser, B., Scholz, S.: Combining high productivity and high performance in image processing using Single Assignment C on multi-core cpus and many-core gpus. Journal of Electronic Imaging (to appear)"},{"key":"5_CR64","unstructured":"Grelck, C., Douma, R.: SAC on a Niagara T3-4 Server: Lessons and Experiences. In: 15th Int. Conference on Parallel Computing (ParCo 2011), Ghent, Belgium (2011)"},{"key":"5_CR65","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"445","DOI":"10.1007\/978-3-642-03275-2_44","volume-title":"Parallel Computing Technologies","author":"D. Rolls","year":"2009","unstructured":"Rolls, D., Joslin, C., Kudryavtsev, A., Scholz, S.-B., Shafarenko, A.: Numerical Simulations of Unsteady Shock Wave Interactions Using SaC and Fortran-90. In: Malyshkin, V. (ed.) PaCT 2009. LNCS, vol.\u00a05698, pp. 445\u2013456. Springer, Heidelberg (2009)"},{"key":"5_CR66","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"160","DOI":"10.1007\/11964681_10","volume-title":"Implementation and Application of Functional Languages","author":"A. Shafarenko","year":"2006","unstructured":"Shafarenko, A., Scholz, S.B., Herhut, S., Grelck, C., Trojahner, K.: Implementing a Numerical Solution of the KPI Equation using Single Assignment C: Lessons and Experiences. In: Butterfield, A., Grelck, C., Huch, F. (eds.) IFL 2005. LNCS, vol.\u00a04015, pp. 160\u2013177. Springer, Heidelberg (2006)"},{"key":"5_CR67","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"230","DOI":"10.1007\/978-3-540-45145-7_20","volume-title":"Parallel Computing Technologies","author":"C. Grelck","year":"2003","unstructured":"Grelck, C., Scholz, S.B.: Towards an Efficient Functional Implementation of the NAS Benchmark FT. In: Malyshkin, V.E. (ed.) PaCT 2003. LNCS, vol.\u00a02763, pp. 230\u2013235. Springer, Heidelberg (2003)"},{"key":"5_CR68","doi-asserted-by":"crossref","unstructured":"Grelck, C.: Implementing the NAS Benchmark MG in SAC. In: Prasanna, V.K., Westrom, G. (eds.) 16th International Parallel and Distributed Processing Symposium (IPDPS 2002), Fort Lauderdale, USA. IEEE Computer Society Press (2002)","DOI":"10.1109\/IPDPS.2002.1016488"},{"key":"5_CR69","doi-asserted-by":"publisher","first-page":"63","DOI":"10.1177\/109434209100500306","volume":"5","author":"D. Bailey","year":"1991","unstructured":"Bailey, D., et al.: The NAS Parallel Benchmarks. International Journal of Supercomputer Applications\u00a05, 63\u201373 (1991)","journal-title":"International Journal of Supercomputer Applications"},{"key":"5_CR70","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"105","DOI":"10.1007\/3-540-63237-9_21","volume-title":"Implementation of Functional Languages","author":"J. Groningen van","year":"1997","unstructured":"van Groningen, J.: The Implementation and Efficiency of Arrays in Clean 1.1. In: Kluge, W.E. (ed.) IFL 1996. LNCS, vol.\u00a01268, pp. 105\u2013124. Springer, Heidelberg (1997)"},{"key":"5_CR71","unstructured":"Z\u00f6rner, T.: Numerical Analysis and Functional Programming. In: 10th International Workshop on Implementation of Functional Languages (IFL 1998), London, UK, University College, pp. 27\u201348 (1998)"},{"key":"5_CR72","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"27","DOI":"10.1007\/978-3-540-44833-4_2","volume-title":"Advanced Functional Programming","author":"M.M. Chakravarty","year":"2003","unstructured":"Chakravarty, M.M., Keller, G.: An Approach to Fast Arrays in Haskell. In: Jeuring, J., Jones, S.L.P. (eds.) AFP 2002. LNCS, vol.\u00a02638, pp. 27\u201358. Springer, Heidelberg (2003)"},{"key":"5_CR73","doi-asserted-by":"crossref","unstructured":"Peyton Jones, S., Leshchinskiy, R., Keller, G., Chakravarty, M.: Harnessing the multicores: Nested data parallelism in Haskell. In: IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTCS 2008), Bangalore, India, pp. 383\u2013414 (2008)","DOI":"10.1007\/978-3-540-89330-1_10"},{"key":"5_CR74","doi-asserted-by":"publisher","first-page":"4","DOI":"10.1006\/jpdc.1994.1038","volume":"21","author":"G. Blelloch","year":"1994","unstructured":"Blelloch, G., Chatterjee, S., Hardwick, J., Sipelstein, J., Zagha, M.: Implementation of a Portable Nested Data-Parallel Language. Journal of Parallel and Distributed Computing\u00a021, 4\u201314 (1994)","journal-title":"Journal of Parallel and Distributed Computing"},{"key":"5_CR75","unstructured":"McGraw, J., Skedzielewski, S., Allan, S., Oldehoeft, R., et al.: Sisal: Streams and Iteration in a Single Assignment Language: Reference Manual Version 1.2. M 146. Lawrence Livermore National Laboratory, Livermore (1985)"},{"key":"5_CR76","doi-asserted-by":"publisher","first-page":"81","DOI":"10.1145\/135226.135231","volume":"35","author":"D. Cann","year":"1992","unstructured":"Cann, D.: Retire Fortran? A Debate Rekindled. CACM\u00a035, 81\u201389 (1992)","journal-title":"CACM"},{"key":"5_CR77","unstructured":"Oldehoeft, R.: Implementing Arrays in SISAL 2.0. In: 2nd SISAL Users Conference, San Diego, CA, USA, pp. 209\u2013222. Lawrence Livermore National Laboratory (1992)"},{"key":"5_CR78","unstructured":"Feo, J., Miller, P., Skedzielewski, S.K., Denton, S., Solomon, C.: Sisal 90. In: Conference on High Performance Functional Computing (HPFC 1995), Denver, CO, USA, pp. 35\u201347. Lawrence Livermore National Laboratory, Livermore (1995)"},{"key":"5_CR79","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"83","DOI":"10.1007\/3-540-49256-9_6","volume-title":"Computer Vision Systems","author":"J. Hammes","year":"1999","unstructured":"Hammes, J., Draper, B., B\u00f6hm, A.: Sassy: A Language and Optimizing Compiler for Image Processing on Reconfigurable Computing Systems. In: Christensen, H.I. (ed.) ICVS 1999. LNCS, vol.\u00a01542, pp. 83\u201397. Springer, Heidelberg (1999)"},{"key":"5_CR80","doi-asserted-by":"publisher","first-page":"63","DOI":"10.1109\/MC.2003.1220583","volume":"36","author":"W. Najjar","year":"2003","unstructured":"Najjar, W., B\u00f6hm, W., Draper, B., Hammes, J., et al.: High-level Language Abstraction for Reconfigurable Computing. IEEE Computer\u00a036, 63\u201369 (2003)","journal-title":"IEEE Computer"},{"key":"5_CR81","doi-asserted-by":"publisher","first-page":"17","DOI":"10.1145\/166198.166201","volume":"24","author":"R. Bernecky","year":"1993","unstructured":"Bernecky, R.: The Role of APL and J in High-Performance Computation. APL Quote Quad.\u00a024, 17\u201332 (1993)","journal-title":"APL Quote Quad."},{"key":"5_CR82","doi-asserted-by":"crossref","unstructured":"van der Walt, S., Colbert, S., Varoquaux, G.: The numpy array: A structure for efficient numerical computation. Computing in Science & Engineering 13 (2011)","DOI":"10.1109\/MCSE.2011.37"},{"key":"5_CR83","volume-title":"4th Conference on Partitioned Global Address Space Programming Model (PGAS 2010)","author":"M. Kristensen","year":"2010","unstructured":"Kristensen, M., Vinter, B.: Numerical Python for scalable architectures. In: 4th Conference on Partitioned Global Address Space Programming Model (PGAS 2010). ACM Press, New York (2010)"},{"key":"5_CR84","unstructured":"Scholz, S.B.: Single Assignment C \u2013 Functional Programming Using Imperative Style. In: 6th International Workshop on Implementation of Functional Languages (IFL 1994), pp. 21.1\u201321.13. University of East Anglia, Norwich (1994)"}],"container-title":["Lecture Notes in Computer Science","Central European Functional Programming School"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-32096-5_5","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,5,3]],"date-time":"2019-05-03T21:00:33Z","timestamp":1556917233000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-32096-5_5"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012]]},"ISBN":["9783642320958","9783642320965"],"references-count":84,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-32096-5_5","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2012]]}}}