<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Pondering Pre/Post Conditions to Enforce Software Correctness</title>
	<atom:link href="http://blog.mozilla.com/tglek/2007/07/13/pondering-prepost-conditions-to-enforce-software-correctness/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mozilla.com/tglek/2007/07/13/pondering-prepost-conditions-to-enforce-software-correctness/</link>
	<description>Just another Blog.mozilla.com weblog</description>
	<lastBuildDate>Sun, 12 Feb 2012 07:38:09 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Brendan Eich</title>
		<link>http://blog.mozilla.com/tglek/2007/07/13/pondering-prepost-conditions-to-enforce-software-correctness/comment-page-1/#comment-2229</link>
		<dc:creator>Brendan Eich</dc:creator>
		<pubDate>Tue, 17 Jul 2007 02:41:36 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mozilla.com/tglek/2007/07/13/pondering-prepost-conditions-to-enforce-software-correctness/#comment-2229</guid>
		<description>ES4 does have extensible type annotations for args and return values, and it will enforce them at runtime if it can&#039;t prove they&#039;re violated with its optional static checker. But no rule inference, no data flow analysis, etc. Non-nullable types must be initialized early enough, for class instance vars with special constructor syntax.

See http://ecmascript-lang.org/ for the reference implementation, which supports a lot (but not all, and not all bug-free) of what will be in ES4.

/be</description>
		<content:encoded><![CDATA[<p>ES4 does have extensible type annotations for args and return values, and it will enforce them at runtime if it can&#8217;t prove they&#8217;re violated with its optional static checker. But no rule inference, no data flow analysis, etc. Non-nullable types must be initialized early enough, for class instance vars with special constructor syntax.</p>
<p>See <a href="http://ecmascript-lang.org/" rel="nofollow">http://ecmascript-lang.org/</a> for the reference implementation, which supports a lot (but not all, and not all bug-free) of what will be in ES4.</p>
<p>/be</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tglek</title>
		<link>http://blog.mozilla.com/tglek/2007/07/13/pondering-prepost-conditions-to-enforce-software-correctness/comment-page-1/#comment-2092</link>
		<dc:creator>tglek</dc:creator>
		<pubDate>Fri, 13 Jul 2007 18:16:09 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mozilla.com/tglek/2007/07/13/pondering-prepost-conditions-to-enforce-software-correctness/#comment-2092</guid>
		<description>I guess I forgot to mention the key point of this. The BoogiePL contracts are enforced at compile time so your program is rejected if it doesn&#039;t comply. However Spec# also complements these with runtime checks when only part of the code is annotated.

I suppose something similar would be possible with es4</description>
		<content:encoded><![CDATA[<p>I guess I forgot to mention the key point of this. The BoogiePL contracts are enforced at compile time so your program is rejected if it doesn&#8217;t comply. However Spec# also complements these with runtime checks when only part of the code is annotated.</p>
<p>I suppose something similar would be possible with es4</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex Vincent</title>
		<link>http://blog.mozilla.com/tglek/2007/07/13/pondering-prepost-conditions-to-enforce-software-correctness/comment-page-1/#comment-2091</link>
		<dc:creator>Alex Vincent</dc:creator>
		<pubDate>Fri, 13 Jul 2007 18:05:39 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mozilla.com/tglek/2007/07/13/pondering-prepost-conditions-to-enforce-software-correctness/#comment-2091</guid>
		<description>Hm, like a design-by-contract library for JavaScript?  Or xpcshell tests?  Or perhaps the D language?</description>
		<content:encoded><![CDATA[<p>Hm, like a design-by-contract library for JavaScript?  Or xpcshell tests?  Or perhaps the D language?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

