<?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"
	>
<channel>
	<title>Comments on: Newspeak Constructors</title>
	<atom:link href="http://digital-sushi.org/entry/newspeak-constructors/feed/" rel="self" type="application/rss+xml" />
	<link>http://digital-sushi.org/entry/newspeak-constructors/</link>
	<description>Thoughts on language design, API design, compilers, Smalltalk, and Java technology</description>
	<pubDate>Sat, 13 Mar 2010 07:45:33 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.5</generator>
		<item>
		<title>By: Christian Plesner Hansen</title>
		<link>http://digital-sushi.org/entry/newspeak-constructors/#comment-995</link>
		<dc:creator>Christian Plesner Hansen</dc:creator>
		<pubDate>Wed, 02 Jan 2008 15:51:03 +0000</pubDate>
		<guid isPermaLink="false">http://digital-sushi.org/entry/newspeak-constructors/#comment-995</guid>
		<description>What happens if an initializer does a non-local return or throws an exception?  Can they access the instance being initialized through 'self'?

In Gilad's post he writes about subclasses that they must call the primary constructor of the superclass because "It helps ensure that an object is always completely initialized".  That's why I assumed that you were not allowed to execute general expression in slot initializers, because otherwise you undermine the guarantees that objects are properly initialized.  And then you might as well allow subclasses to call secondary constructors.</description>
		<content:encoded><![CDATA[<p>What happens if an initializer does a non-local return or throws an exception?  Can they access the instance being initialized through &#8217;self&#8217;?</p>
<p>In Gilad&#8217;s post he writes about subclasses that they must call the primary constructor of the superclass because &#8220;It helps ensure that an object is always completely initialized&#8221;.  That&#8217;s why I assumed that you were not allowed to execute general expression in slot initializers, because otherwise you undermine the guarantees that objects are properly initialized.  And then you might as well allow subclasses to call secondary constructors.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
