<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="static/style.xsl"?><OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd"><responseDate>2026-09-18T22:53:39Z</responseDate><request verb="GetRecord" identifier="oai:dspace.mit.edu:1721.1/140068" metadataPrefix="dim">https://dspace.mit.edu/server/oai/request</request><GetRecord><record><header><identifier>oai:dspace.mit.edu:1721.1/140068</identifier><datestamp>2022-02-08T03:49:24Z</datestamp><setSpec>com_1721.1_7582</setSpec><setSpec>com_1721.1_7581</setSpec><setSpec>col_1721.1_131023</setSpec></header><metadata><dim:dim xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:doc="http://www.lyncode.com/xoai" xsi:schemaLocation="http://www.dspace.org/xmlns/dspace/dim http://www.dspace.org/schema/dim.xsd">
   <dim:field mdschema="dc" element="contributor" qualifier="advisor">Oliver, William D.</dim:field>
   <dim:field mdschema="dc" element="contributor" qualifier="author">McNally, Christopher Michael</dim:field>
   <dim:field mdschema="dc" element="contributor" qualifier="department">Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="accessioned">2022-02-07T15:22:12Z</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="available">2022-02-07T15:22:12Z</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="issued">2021-09</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="submitted">2021-09-21T19:54:12.892Z</dim:field>
   <dim:field mdschema="dc" element="identifier" qualifier="uri">https://hdl.handle.net/1721.1/140068</dim:field>
   <dim:field mdschema="dc" element="description" qualifier="abstract">In this thesis we present a compiler for Cavy, an imperative quantum programming language. The main contribution of the Cavy system is the application of region inference to the problem of safe and efficient ancilla qubit allocation, use, and deallocation in a programming language with a reversible subset. This approach enables the compilation of optimized quantum circuits from programs with arbitrary ancilla operations. In contrast with other recent work on ancilla deallocation, the safety analysis is a variant of the borrow checker introduced in the Rust programming language. It features “move references,” a unique reference type that can safely transfer ownership of its referent.&#xd;
&#xd;
To frame the problem and motivate these features, we describe a quantum algorithm whose recent experimental implementation strains the expressiveness of traditional linearly-typed quantum programming languages, and give a Cavy implementation of this algorithm.</dim:field>
   <dim:field mdschema="dc" element="description" qualifier="degree">S.M.</dim:field>
   <dim:field mdschema="dc" element="publisher">Massachusetts Institute of Technology</dim:field>
   <dim:field mdschema="dc" element="rights">In Copyright - Educational Use Permitted</dim:field>
   <dim:field mdschema="dc" element="rights">Copyright MIT</dim:field>
   <dim:field mdschema="dc" element="rights" qualifier="uri">http://rightsstatements.org/page/InC-EDU/1.0/</dim:field>
   <dim:field mdschema="dc" element="title">Practical Modern Quantum Programming</dim:field>
   <dim:field mdschema="dc" element="type">Thesis</dim:field>
   <dim:field mdschema="dc" element="format" qualifier="mimetype">application/pdf</dim:field>
   <dim:field mdschema="mit" element="thesis" qualifier="degree">Master</dim:field>
   <dim:field mdschema="thesis" element="degree" qualifier="name">Master of Science in Electrical Engineering and Computer Science</dim:field>
   <dim:field mdschema="dspace" element="entity" qualifier="type">Publication</dim:field>
   <dim:field mdschema="others" element="access-status">unknown</dim:field>
   <dim:field mdschema="others" element="access-status">unknown</dim:field>
   <dim:field mdschema="cerif" element="openaire" authority="" confidence="-1">&lt;Publication xmlns="https://www.openaire.eu/cerif-profile/1.1/" id="48e2427a-9a4f-494a-bdf0-5dc27db8fe7b">
	&lt;Type xmlns="https://www.openaire.eu/cerif-profile/vocab/COAR_Publication_Types">http://purl.org/coar/resource_type/c_1843&lt;/Type>
   	&lt;Title>Practical Modern Quantum Programming&lt;/Title>
   	&lt;PublishedIn>
    	&lt;Publication>
      	&lt;/Publication>
   	&lt;/PublishedIn>
   	&lt;PublicationDate>2021-09&lt;/PublicationDate>
   	&lt;Authors>
      	&lt;Author>
        	&lt;DisplayName>McNally, Christopher Michael&lt;/DisplayName&gt;
         	&lt;Affiliation>
         		&lt;OrgUnit>
         		&lt;/OrgUnit>
         	&lt;/Affiliation>
      	&lt;/Author>
	&lt;/Authors>
   	&lt;Editors>
	&lt;/Editors>
    &lt;Publishers>
        &lt;Publisher>
            &lt;DisplayName>Massachusetts Institute of Technology&lt;/DisplayName>
            &lt;OrgUnit />
        &lt;/Publisher>
    &lt;/Publishers>
    &lt;License>http://rightsstatements.org/page/InC-EDU/1.0/&lt;/License>
   	&lt;Abstract>In this thesis we present a compiler for Cavy, an imperative quantum programming language. The main contribution of the Cavy system is the application of region inference to the problem of safe and efficient ancilla qubit allocation, use, and deallocation in a programming language with a reversible subset. This approach enables the compilation of optimized quantum circuits from programs with arbitrary ancilla operations. In contrast with other recent work on ancilla deallocation, the safety analysis is a variant of the borrow checker introduced in the Rust programming language. It features “move references,” a unique reference type that can safely transfer ownership of its referent.&#xd;
&#xd;
To frame the problem and motivate these features, we describe a quantum algorithm whose recent experimental implementation strains the expressiveness of traditional linearly-typed quantum programming languages, and give a Cavy implementation of this algorithm.&lt;/Abstract>
	&lt;Access xmlns="http://purl.org/coar/access_right" 
    >
    &lt;/Access>
&lt;/Publication>
</dim:field>
</dim:dim>
</metadata></record></GetRecord></OAI-PMH>