Statically Unrolling Recursion to Improve Opportunities for Parallelism Deshpande Neil Ashish author Columbia University. Computer Science Edwards Stephen A. author Columbia University. Computer Science Columbia University. Computer Science originator contributor text Technical reports New York Department of Computer Science, Columbia University 2012 We present an algorithm for unrolling recursion in the Haskell functional language. Adapted from a similar algorithm proposed by Rugina and Rinard for imperative languages, it essentially inlines a function in itself as many times as requested. This algorithm aims to increase the available parallelism in recursive functions, with an eye toward its eventual application in a Haskell-to-hardware compiler. We first illustrate the technique on a series of examples, then describe the algorithm, and finally show its Haskell source, which operates as a plug-in for the Glasgow Haskell Compiler. Computer science Columbia University Computer Science Technical Reports CUCS-011-12 http://hdl.handle.net/10022/AC:P:14249 English NNC NNC 2012-07-26 12:28:17 -0400 2012-07-30 09:49:11 -0400 8258 eng