
<mods xmlns="http://www.loc.gov/mods/v3" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-4.xsd">
    
    <titleInfo>
        <title>Statically Unrolling Recursion to Improve Opportunities for Parallelism</title>
    </titleInfo>
    <name type="personal" ID="nad2135">
        <namePart type="family">Deshpande</namePart>
        <namePart type="given">Neil Ashish</namePart>
        <role>
            <roleTerm type="text">author</roleTerm>
        </role>
        <affiliation>Columbia University. Computer Science</affiliation>
    </name>
    <name type="personal" ID="se2007">
        <namePart type="family">Edwards</namePart>
        <namePart type="given">Stephen A.</namePart>
        <role>
            <roleTerm type="text">author</roleTerm>
        </role>
        <affiliation>Columbia University. Computer Science</affiliation>
    </name>
    <name type="corporate">
        <namePart>Columbia University. Computer Science</namePart>
        <role>
            <roleTerm type="text">originator</roleTerm>
        </role>
        <role>
            <roleTerm type="text">contributor</roleTerm>
        </role>
    </name>
    <typeOfResource>text</typeOfResource>
    <genre>Technical reports</genre>
    
    <originInfo>
        <place>
            <placeTerm type="text">New York</placeTerm>
        </place>
        <publisher>Department of Computer Science, Columbia University</publisher>
        <dateIssued encoding="w3cdtf" keyDate="yes">2012</dateIssued>
    </originInfo>
    <abstract>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.</abstract>
    <subject>
        <topic>Computer science</topic>
    </subject>
    <relatedItem type="series" ID="r.1">
        <titleInfo>
            <title>Columbia University Computer Science Technical Reports</title>
            <partNumber>CUCS-011-12</partNumber>
        </titleInfo>
    </relatedItem>
    <relatedItem>
        <location>
            <url></url>
        </location>
    </relatedItem>
    <identifier type="hdl">http://hdl.handle.net/10022/AC:P:14249</identifier>

    <language>
        <languageTerm type="text">English</languageTerm>
    </language>
    
    <location>
        <physicalLocation authority="marcorg">NNC</physicalLocation>
    </location>
    
    <recordInfo>
        <recordContentSource authority="marcorg">NNC</recordContentSource>
        <recordCreationDate encoding="w3cdtf">2012-07-26 12:28:17 -0400</recordCreationDate>
        <recordChangeDate encoding="w3cdtf">2012-07-30 09:49:11 -0400</recordChangeDate>
        <recordIdentifier>8258</recordIdentifier>
        <languageOfCataloging>
            <languageTerm authority="iso639-2b">eng</languageTerm>
        </languageOfCataloging>
    </recordInfo>
    
</mods>
