<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.jvmlangsummit.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Siek</id>
	<title>JVMLangSummit - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.jvmlangsummit.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Siek"/>
	<link rel="alternate" type="text/html" href="https://wiki.jvmlangsummit.com/index.php?title=Special:Contributions/Siek"/>
	<updated>2026-05-23T05:58:19Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>https://wiki.jvmlangsummit.com/index.php?title=File:Jvm-summit-2009.pdf&amp;diff=375</id>
		<title>File:Jvm-summit-2009.pdf</title>
		<link rel="alternate" type="text/html" href="https://wiki.jvmlangsummit.com/index.php?title=File:Jvm-summit-2009.pdf&amp;diff=375"/>
		<updated>2009-09-18T21:20:04Z</updated>

		<summary type="html">&lt;p&gt;Siek: uploaded a new version of &amp;quot;Image:Jvm-summit-2009.pdf&amp;quot;: Slides for the talk &amp;quot;Blame Tracking&amp;quot; at the JVM Languages Summit 2009.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Slides for the talk &amp;quot;Blame Tracking&amp;quot; at the JVM Languages Summit 2009.&lt;/div&gt;</summary>
		<author><name>Siek</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.jvmlangsummit.com/index.php?title=Blame_Tracking&amp;diff=364</id>
		<title>Blame Tracking</title>
		<link rel="alternate" type="text/html" href="https://wiki.jvmlangsummit.com/index.php?title=Blame_Tracking&amp;diff=364"/>
		<updated>2009-09-18T16:03:45Z</updated>

		<summary type="html">&lt;p&gt;Siek: /* Blame Tracking */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Blame Tracking ==&lt;br /&gt;
Jeremy Siek, http://ecee.colorado.edu/~siek&lt;br /&gt;
&lt;br /&gt;
; Project: &lt;br /&gt;
; Blog: &lt;br /&gt;
; Slides: [[Media:Jvm-summit-2009.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
&lt;br /&gt;
Blame Tracking for Gradual Types — Jeremy Siek&lt;br /&gt;
&lt;br /&gt;
Have you ever called a library function in a dynamic language only to have an exception thrown from deep inside the function? Is the error your fault (good heavens no!) or the fault of of the library writer? With the addition of gradual typing, it becomes possible to address this problem using a technology called blame tracking. The idea behind blame tracking is to enclose objects in a wrapper that represents the type that the object is suppose to have and that includes source information (line number, etc.) for where the object was cast to that type. If the object ever disobeys it's type, or is misused as if it had a different type, then the run-time system flags an error and tells the programmer who is to blame. In this presentation I will give an in-depth description of blame tracking and discuss recent research on how to reduce the run-time overhead of blame tracking to a constant factor.&lt;br /&gt;
&lt;br /&gt;
= Background =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Current Status =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Future =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Key Issues for Discussion =&lt;br /&gt;
''(please expand cooperatively)''&lt;/div&gt;</summary>
		<author><name>Siek</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.jvmlangsummit.com/index.php?title=Blame_Tracking&amp;diff=363</id>
		<title>Blame Tracking</title>
		<link rel="alternate" type="text/html" href="https://wiki.jvmlangsummit.com/index.php?title=Blame_Tracking&amp;diff=363"/>
		<updated>2009-09-18T16:03:31Z</updated>

		<summary type="html">&lt;p&gt;Siek: /* Blame Tracking */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Blame Tracking ==&lt;br /&gt;
Jeremy Siek, http://ecee.colorado.edu/~siek&lt;br /&gt;
&lt;br /&gt;
; Project: &lt;br /&gt;
; Blog: &lt;br /&gt;
; Slides: [[Jvm-summit-2009.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
&lt;br /&gt;
Blame Tracking for Gradual Types — Jeremy Siek&lt;br /&gt;
&lt;br /&gt;
Have you ever called a library function in a dynamic language only to have an exception thrown from deep inside the function? Is the error your fault (good heavens no!) or the fault of of the library writer? With the addition of gradual typing, it becomes possible to address this problem using a technology called blame tracking. The idea behind blame tracking is to enclose objects in a wrapper that represents the type that the object is suppose to have and that includes source information (line number, etc.) for where the object was cast to that type. If the object ever disobeys it's type, or is misused as if it had a different type, then the run-time system flags an error and tells the programmer who is to blame. In this presentation I will give an in-depth description of blame tracking and discuss recent research on how to reduce the run-time overhead of blame tracking to a constant factor.&lt;br /&gt;
&lt;br /&gt;
= Background =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Current Status =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Future =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Key Issues for Discussion =&lt;br /&gt;
''(please expand cooperatively)''&lt;/div&gt;</summary>
		<author><name>Siek</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.jvmlangsummit.com/index.php?title=Blame_Tracking&amp;diff=362</id>
		<title>Blame Tracking</title>
		<link rel="alternate" type="text/html" href="https://wiki.jvmlangsummit.com/index.php?title=Blame_Tracking&amp;diff=362"/>
		<updated>2009-09-18T16:03:11Z</updated>

		<summary type="html">&lt;p&gt;Siek: /* Blame Tracking */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Blame Tracking ==&lt;br /&gt;
Jeremy Siek, http://ecee.colorado.edu/~siek&lt;br /&gt;
&lt;br /&gt;
; Project: &lt;br /&gt;
; Blog: &lt;br /&gt;
; Slides: [[Media:Jvm-summit-2009.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
&lt;br /&gt;
Blame Tracking for Gradual Types — Jeremy Siek&lt;br /&gt;
&lt;br /&gt;
Have you ever called a library function in a dynamic language only to have an exception thrown from deep inside the function? Is the error your fault (good heavens no!) or the fault of of the library writer? With the addition of gradual typing, it becomes possible to address this problem using a technology called blame tracking. The idea behind blame tracking is to enclose objects in a wrapper that represents the type that the object is suppose to have and that includes source information (line number, etc.) for where the object was cast to that type. If the object ever disobeys it's type, or is misused as if it had a different type, then the run-time system flags an error and tells the programmer who is to blame. In this presentation I will give an in-depth description of blame tracking and discuss recent research on how to reduce the run-time overhead of blame tracking to a constant factor.&lt;br /&gt;
&lt;br /&gt;
= Background =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Current Status =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Future =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Key Issues for Discussion =&lt;br /&gt;
''(please expand cooperatively)''&lt;/div&gt;</summary>
		<author><name>Siek</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.jvmlangsummit.com/index.php?title=Blame_Tracking&amp;diff=361</id>
		<title>Blame Tracking</title>
		<link rel="alternate" type="text/html" href="https://wiki.jvmlangsummit.com/index.php?title=Blame_Tracking&amp;diff=361"/>
		<updated>2009-09-18T16:02:30Z</updated>

		<summary type="html">&lt;p&gt;Siek: /* Blame Tracking */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Blame Tracking ==&lt;br /&gt;
Jeremy Siek, http://ecee.colorado.edu/~siek&lt;br /&gt;
&lt;br /&gt;
; Project: &lt;br /&gt;
; Blog: &lt;br /&gt;
; Slides: [[Image:Jvm-summit-2009.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
&lt;br /&gt;
Blame Tracking for Gradual Types — Jeremy Siek&lt;br /&gt;
&lt;br /&gt;
Have you ever called a library function in a dynamic language only to have an exception thrown from deep inside the function? Is the error your fault (good heavens no!) or the fault of of the library writer? With the addition of gradual typing, it becomes possible to address this problem using a technology called blame tracking. The idea behind blame tracking is to enclose objects in a wrapper that represents the type that the object is suppose to have and that includes source information (line number, etc.) for where the object was cast to that type. If the object ever disobeys it's type, or is misused as if it had a different type, then the run-time system flags an error and tells the programmer who is to blame. In this presentation I will give an in-depth description of blame tracking and discuss recent research on how to reduce the run-time overhead of blame tracking to a constant factor.&lt;br /&gt;
&lt;br /&gt;
= Background =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Current Status =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Future =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Key Issues for Discussion =&lt;br /&gt;
''(please expand cooperatively)''&lt;/div&gt;</summary>
		<author><name>Siek</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.jvmlangsummit.com/index.php?title=Blame_Tracking&amp;diff=360</id>
		<title>Blame Tracking</title>
		<link rel="alternate" type="text/html" href="https://wiki.jvmlangsummit.com/index.php?title=Blame_Tracking&amp;diff=360"/>
		<updated>2009-09-18T16:02:19Z</updated>

		<summary type="html">&lt;p&gt;Siek: /* Blame Tracking */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Blame Tracking ==&lt;br /&gt;
Jeremy Siek, http://ecee.colorado.edu/~siek&lt;br /&gt;
&lt;br /&gt;
; Project: &lt;br /&gt;
; Blog: &lt;br /&gt;
; Slides: [[Image:Jvm-summit-2009.pdf.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
&lt;br /&gt;
Blame Tracking for Gradual Types — Jeremy Siek&lt;br /&gt;
&lt;br /&gt;
Have you ever called a library function in a dynamic language only to have an exception thrown from deep inside the function? Is the error your fault (good heavens no!) or the fault of of the library writer? With the addition of gradual typing, it becomes possible to address this problem using a technology called blame tracking. The idea behind blame tracking is to enclose objects in a wrapper that represents the type that the object is suppose to have and that includes source information (line number, etc.) for where the object was cast to that type. If the object ever disobeys it's type, or is misused as if it had a different type, then the run-time system flags an error and tells the programmer who is to blame. In this presentation I will give an in-depth description of blame tracking and discuss recent research on how to reduce the run-time overhead of blame tracking to a constant factor.&lt;br /&gt;
&lt;br /&gt;
= Background =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Current Status =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Future =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Key Issues for Discussion =&lt;br /&gt;
''(please expand cooperatively)''&lt;/div&gt;</summary>
		<author><name>Siek</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.jvmlangsummit.com/index.php?title=File:Jvm-summit-2009.pdf&amp;diff=359</id>
		<title>File:Jvm-summit-2009.pdf</title>
		<link rel="alternate" type="text/html" href="https://wiki.jvmlangsummit.com/index.php?title=File:Jvm-summit-2009.pdf&amp;diff=359"/>
		<updated>2009-09-18T16:01:11Z</updated>

		<summary type="html">&lt;p&gt;Siek: Slides for the talk &amp;quot;Blame Tracking&amp;quot; at the JVM Languages Summit 2009.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Slides for the talk &amp;quot;Blame Tracking&amp;quot; at the JVM Languages Summit 2009.&lt;/div&gt;</summary>
		<author><name>Siek</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.jvmlangsummit.com/index.php?title=Blame_Tracking&amp;diff=321</id>
		<title>Blame Tracking</title>
		<link rel="alternate" type="text/html" href="https://wiki.jvmlangsummit.com/index.php?title=Blame_Tracking&amp;diff=321"/>
		<updated>2009-09-17T18:26:15Z</updated>

		<summary type="html">&lt;p&gt;Siek: /* Blame Tracking */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Blame Tracking ==&lt;br /&gt;
Jeremy Siek, http://ecee.colorado.edu/~siek&lt;br /&gt;
&lt;br /&gt;
; Project: &lt;br /&gt;
; Blog: &lt;br /&gt;
; Slides: [[Image:file.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
&lt;br /&gt;
Blame Tracking for Gradual Types — Jeremy Siek&lt;br /&gt;
&lt;br /&gt;
Have you ever called a library function in a dynamic language only to have an exception thrown from deep inside the function? Is the error your fault (good heavens no!) or the fault of of the library writer? With the addition of gradual typing, it becomes possible to address this problem using a technology called blame tracking. The idea behind blame tracking is to enclose objects in a wrapper that represents the type that the object is suppose to have and that includes source information (line number, etc.) for where the object was cast to that type. If the object ever disobeys it's type, or is misused as if it had a different type, then the run-time system flags an error and tells the programmer who is to blame. In this presentation I will give an in-depth description of blame tracking and discuss recent research on how to reduce the run-time overhead of blame tracking to a constant factor.&lt;br /&gt;
&lt;br /&gt;
= Background =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Current Status =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Future =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Key Issues for Discussion =&lt;br /&gt;
''(please expand cooperatively)''&lt;/div&gt;</summary>
		<author><name>Siek</name></author>
		
	</entry>
</feed>