<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>weaselhat &#187; Submissions</title>
	<atom:link href="http://www.weaselhat.com/category/papers/submissions/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.weaselhat.com</link>
	<description></description>
	<lastBuildDate>Sat, 29 May 2010 09:17:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Contracts Made Manifest</title>
		<link>http://www.weaselhat.com/2009/07/30/contracts-made-manifest/</link>
		<comments>http://www.weaselhat.com/2009/07/30/contracts-made-manifest/#comments</comments>
		<pubDate>Thu, 30 Jul 2009 20:31:49 +0000</pubDate>
		<dc:creator>Michael Greenberg</dc:creator>
				<category><![CDATA[Programming Languages]]></category>
		<category><![CDATA[Submissions]]></category>

		<guid isPermaLink="false">http://www.weaselhat.com/?p=117</guid>
		<description><![CDATA[Benjamin Pierce, Stephanie Weirich, and I submitted a paper to POPL 2010; it&#8217;s about contracts. Here&#8217;s the abstract: Since Findler and Felleisen introduced higher-order contracts, many variants of their system have been proposed. Broadly, these fall into two groups: some follow Findler and Felleisen in using latent contracts, purely dynamic checks that are transparent to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="www.cis.upenn.edu/~bcpierce/">Benjamin Pierce</a>, <a href="www.cis.upenn.edu/~sweirich/">Stephanie Weirich</a>, and I <a href="http://www.cis.upenn.edu/~mgree/papers/popl2010_contracts.pdf">submitted a paper</a> to <a href="http://www.cse.psu.edu/popl/10/">POPL 2010</a>; it&#8217;s about contracts.  Here&#8217;s the abstract:</p>
<blockquote><p>
Since Findler and Felleisen introduced higher-order contracts, many variants of their system have been proposed. Broadly, these fall into two groups: some follow Findler and Felleisen in using latent contracts, purely dynamic checks that are transparent to the type system; others use manifest contracts, where refinement types record the most recent check that has been applied. These two approaches are generally assumed to be equivalent&#8212;different ways of implementing the same idea, one retaining a simple type system, and the other providing more static information. Our goal is to formalize and clarify this folklore understanding.</p>
<p>Our work extends that of Gronski and Flanagan, who defined a latent calculus \lambda_C and a manifest calculus \lambda_H, gave a translation \phi from \lambda_C to \lambda_H, and proved that if a \lambda_C term reduces to a constant, then so does its \phi-image. We enrich their account with a translation \psi in the opposite direction and prove an analogous theorem for \psi.</p>
<p>More importantly, we generalize the whole framework to dependent contracts, where the predicates in contracts can mention variables from the local context. This extension is both pragmatically crucial, supporting a much more interesting range of contracts, and theoretically challenging. We define dependent versions of \lambda_C (following Findler and Felleisen&#8217;s semantics) and \lambda_H, establish type soundness&#8212;a challenging result in itself, for \lambda_H&#8212;and extend \phi and \psi accordingly. Interestingly, the intuition that the two systems are equivalent appears to break down here: we show that \psi preserves behavior exactly, but that a natural extension of \phi to the dependent case will sometimes yield terms that blame more because of a subtle difference in the treatment of dependent function contracts when the codomain contract itself abuses the argument.
</p></blockquote>
<p><b>Edit on 2009-11-03:</b> there&#8217;s a <a href="http://www.weaselhat.com/2009/11/03/contracts-made-manifest-final-version/">newer version</a>, as will appear in <a href="http://www.cse.psu.edu/popl/10/accepted-papers.html">POPL 2010</a>.</p>
<p><b>Edit on 2010-01-22:</b> I have removed the link to the submission, since it is properly subsumed by our published paper.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.weaselhat.com/2009/07/30/contracts-made-manifest/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
