<?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: type safety</title>
	<atom:link href="http://imprompt.us/2005/type-safety/feed/" rel="self" type="application/rss+xml" />
	<link>http://imprompt.us/2005/type-safety/</link>
	<description>Computer Science and Teaching and Other Ancillary Things</description>
	<lastBuildDate>Sat, 31 Mar 2012 15:41:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
	<item>
		<title>By: type safety</title>
		<link>http://imprompt.us/2005/type-safety/comment-page-1/#comment-16695</link>
		<dc:creator>type safety</dc:creator>
		<pubDate>Sat, 03 Oct 2009 04:42:18 +0000</pubDate>
		<guid isPermaLink="false">http://imprompt.us/2005/type-safety/#comment-16695</guid>
		<description>&lt;p&gt;comments appear on wrong post&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>comments appear on wrong post</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jes5199</title>
		<link>http://imprompt.us/2005/type-safety/comment-page-1/#comment-123</link>
		<dc:creator>jes5199</dc:creator>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://imprompt.us/2005/type-safety/#comment-123</guid>
		<description>&lt;p&gt;get test infected&lt;br /&gt;http://www.artima.com/weblogs/viewpostP.jsp?thread=4639&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>get test infected<br /><a href="http://www.artima.com/weblogs/viewpostP.jsp?thread=4639" rel="nofollow">http://www.artima.com/weblogs/viewpostP.jsp?thread=4639</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: type safety</title>
		<link>http://imprompt.us/2005/type-safety/comment-page-1/#comment-124</link>
		<dc:creator>type safety</dc:creator>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://imprompt.us/2005/type-safety/#comment-124</guid>
		<description>&lt;p&gt;comments appear on wrong post&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>comments appear on wrong post</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: misuba</title>
		<link>http://imprompt.us/2005/type-safety/comment-page-1/#comment-125</link>
		<dc:creator>misuba</dc:creator>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://imprompt.us/2005/type-safety/#comment-125</guid>
		<description>&lt;p&gt;Well, if you&#039;re willing to accept &quot;writing some unit tests&quot; as a means of &quot;turning on typesafety level 1,&quot; you can get this most anywhere...&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>Well, if you&#8217;re willing to accept &#8220;writing some unit tests&#8221; as a means of &#8220;turning on typesafety level 1,&#8221; you can get this most anywhere&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter</title>
		<link>http://imprompt.us/2005/type-safety/comment-page-1/#comment-126</link>
		<dc:creator>Peter</dc:creator>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://imprompt.us/2005/type-safety/#comment-126</guid>
		<description>&lt;p&gt;Comments problem should be fixed now...&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>Comments problem should be fixed now&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter</title>
		<link>http://imprompt.us/2005/type-safety/comment-page-1/#comment-127</link>
		<dc:creator>Peter</dc:creator>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://imprompt.us/2005/type-safety/#comment-127</guid>
		<description>&lt;p&gt;The issue is that type checking is like unit tests you get for free!  Whether people are test-infected or not, it&#039;s still nice to be assured that at no point are you ever going to do an operation that is impermissible.  The entirety of academia is completely sold on type-theory, and it does seem to provide benefits in practice as well, but there&#039;s a whole set of bondage-and-discipline and waterfall design practices implicit in their approach.&lt;/p&gt;&lt;p&gt;I&#039;m proposing that we steal their good ideas (type theory) but get rid of the languages that force you to do a big design up front by refusing to run code that only 50% works.&lt;/p&gt;&lt;p&gt;I&#039;d like the benefits of SML and Haskell typing, combined with the loosey-goosey &quot;code it up right now and then refine each level as you go&quot; style of Python and Perl and Ruby and Lisp.  This is the best way I can think of getting those.&lt;/p&gt;&lt;p&gt;Unit tests are nice, and they help a lot, but guarantees about code that are backed up by theory are really nice as well.  If we could combine rapid application development and unit tests with strong typing, then I think it could be a huge win.&lt;/p&gt;&lt;p&gt;The way I tend to develop systems is I write a halfass hack, and then I extend and change and refactor it into something even biugger and better.  So my ideas start out wispy and thin, but as I go they get more and more concrete.  A nice type system could really be a helpful solidifier for that concrete, as long as it didn&#039;t force me to pour concrete for my first pass through the problem.&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>The issue is that type checking is like unit tests you get for free!  Whether people are test-infected or not, it&#8217;s still nice to be assured that at no point are you ever going to do an operation that is impermissible.  The entirety of academia is completely sold on type-theory, and it does seem to provide benefits in practice as well, but there&#8217;s a whole set of bondage-and-discipline and waterfall design practices implicit in their approach.</p>
<p>I&#8217;m proposing that we steal their good ideas (type theory) but get rid of the languages that force you to do a big design up front by refusing to run code that only 50% works.</p>
<p>I&#8217;d like the benefits of SML and Haskell typing, combined with the loosey-goosey &#8220;code it up right now and then refine each level as you go&#8221; style of Python and Perl and Ruby and Lisp.  This is the best way I can think of getting those.</p>
<p>Unit tests are nice, and they help a lot, but guarantees about code that are backed up by theory are really nice as well.  If we could combine rapid application development and unit tests with strong typing, then I think it could be a huge win.</p>
<p>The way I tend to develop systems is I write a halfass hack, and then I extend and change and refactor it into something even biugger and better.  So my ideas start out wispy and thin, but as I go they get more and more concrete.  A nice type system could really be a helpful solidifier for that concrete, as long as it didn&#8217;t force me to pour concrete for my first pass through the problem.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mphair</title>
		<link>http://imprompt.us/2005/type-safety/comment-page-1/#comment-128</link>
		<dc:creator>mphair</dc:creator>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://imprompt.us/2005/type-safety/#comment-128</guid>
		<description>&lt;p&gt;the problem would be the actual transition from level 0 to level 1. python is quick and easy partially because you dont need to worry about type at all. to go to the next level, you would need to add all of the types in. it&#039;d be like people going back to add in documentation: (1) wouldn&#039;t happen, (2) might not be correct, because they dont remember what the function was for. i guess you could have it allow you to type things upfront and just not check them...&lt;/p&gt;&lt;p&gt;in addition, with static type checking you lose the late-binding nature, don&#039;t you? alan kay would hate you. of course, he&#039;s unemployed right now, so what does he know? ;)&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>the problem would be the actual transition from level 0 to level 1. python is quick and easy partially because you dont need to worry about type at all. to go to the next level, you would need to add all of the types in. it&#8217;d be like people going back to add in documentation: (1) wouldn&#8217;t happen, (2) might not be correct, because they dont remember what the function was for. i guess you could have it allow you to type things upfront and just not check them&#8230;</p>
<p>in addition, with static type checking you lose the late-binding nature, don&#8217;t you? alan kay would hate you. of course, he&#8217;s unemployed right now, so what does he know? <img src='http://imprompt.us/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter</title>
		<link>http://imprompt.us/2005/type-safety/comment-page-1/#comment-129</link>
		<dc:creator>Peter</dc:creator>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://imprompt.us/2005/type-safety/#comment-129</guid>
		<description>&lt;p&gt;Right - we&#039;d need some sort of early binding semantics that exactly matched the late-binding semantics.&lt;/p&gt;&lt;p&gt;The system I&#039;m also envisioning, would, for each chunk of code, spit out &#039;known to break&#039;, &#039;known to be safe&#039;, &#039;maybe safe, depending on X&#039;, or &#039;uncheckable&#039;.&lt;/p&gt;&lt;p&gt;Also, while I really like late binding and Alan Kay&#039;s ideas, systems tend to ossify and harden over time.  They get too many dependencies to be effectively changeable.  So, in reflection of this fact, it would be nice if we could harden the underlying code via type safety guarantees.&lt;/p&gt;&lt;p&gt;But for system development, late binding and loosey-goosey types are where it&#039;s at.  I just think it&#039;s unfortunate that people tend to write their prototypes and their final products in different languages.  There could be a big win if we could provide a gradual transition from the development speed and flexibility of the first to the safety of the second.&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>Right &#8211; we&#8217;d need some sort of early binding semantics that exactly matched the late-binding semantics.</p>
<p>The system I&#8217;m also envisioning, would, for each chunk of code, spit out &#8216;known to break&#8217;, &#8216;known to be safe&#8217;, &#8216;maybe safe, depending on X&#8217;, or &#8216;uncheckable&#8217;.</p>
<p>Also, while I really like late binding and Alan Kay&#8217;s ideas, systems tend to ossify and harden over time.  They get too many dependencies to be effectively changeable.  So, in reflection of this fact, it would be nice if we could harden the underlying code via type safety guarantees.</p>
<p>But for system development, late binding and loosey-goosey types are where it&#8217;s at.  I just think it&#8217;s unfortunate that people tend to write their prototypes and their final products in different languages.  There could be a big win if we could provide a gradual transition from the development speed and flexibility of the first to the safety of the second.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter</title>
		<link>http://imprompt.us/2005/type-safety/comment-page-1/#comment-130</link>
		<dc:creator>Peter</dc:creator>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://imprompt.us/2005/type-safety/#comment-130</guid>
		<description>&lt;p&gt;Expanding on that notion of a gradual transition from flexibility and development speed - &lt;/p&gt;&lt;p&gt;Type safety provides a bunch of guarantees beyond those provided by unit tests, and does so in a programmatic way that compilers and interpreters can take advantage of.  So this gradual transition from the loosey-goosey system should also be a gradual transition from a slower system to a speedier system.&lt;/p&gt;&lt;p&gt;Much like people saying that &quot;speed is a feature - add it in at the end if it&#039;s required&quot;, I think this should be expanded to &quot;type safety is a feature - add it in at the end if it&#039;s required&quot;.&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>Expanding on that notion of a gradual transition from flexibility and development speed &#8211; </p>
<p>Type safety provides a bunch of guarantees beyond those provided by unit tests, and does so in a programmatic way that compilers and interpreters can take advantage of.  So this gradual transition from the loosey-goosey system should also be a gradual transition from a slower system to a speedier system.</p>
<p>Much like people saying that &#8220;speed is a feature &#8211; add it in at the end if it&#8217;s required&#8221;, I think this should be expanded to &#8220;type safety is a feature &#8211; add it in at the end if it&#8217;s required&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mphair</title>
		<link>http://imprompt.us/2005/type-safety/comment-page-1/#comment-131</link>
		<dc:creator>mphair</dc:creator>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://imprompt.us/2005/type-safety/#comment-131</guid>
		<description>&lt;p&gt;I&#039;ve been learning Lisp recently and I think that it the answer. Specifically, CLOS allows you to be as specific as you want to be.&lt;/p&gt;&lt;p&gt;if you want to stick with python, don&#039;t decorators provide something of that nature?&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>I&#8217;ve been learning Lisp recently and I think that it the answer. Specifically, CLOS allows you to be as specific as you want to be.</p>
<p>if you want to stick with python, don&#8217;t decorators provide something of that nature?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

