<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.jvmlangsummit.com/index.php?action=history&amp;feed=atom&amp;title=PythonGradualTyping</id>
	<title>PythonGradualTyping - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.jvmlangsummit.com/index.php?action=history&amp;feed=atom&amp;title=PythonGradualTyping"/>
	<link rel="alternate" type="text/html" href="https://wiki.jvmlangsummit.com/index.php?title=PythonGradualTyping&amp;action=history"/>
	<updated>2026-05-23T05:24:44Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>https://wiki.jvmlangsummit.com/index.php?title=PythonGradualTyping&amp;diff=126&amp;oldid=prev</id>
		<title>Penni: /* Abstract */</title>
		<link rel="alternate" type="text/html" href="https://wiki.jvmlangsummit.com/index.php?title=PythonGradualTyping&amp;diff=126&amp;oldid=prev"/>
		<updated>2008-09-26T16:48:36Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Abstract&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 16:48, 26 September 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l7&quot; &gt;Line 7:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;; Talk Abstract: Static and dynamic type checking have well-known strengths and weaknesses. Static type checking enables compilers to generate highly efficient code and provides an important form of machine checked documentation for API functions. On the other hand, dynamic type checking provides greater flexibility and ease-of-use, as demonstrated in empirical studies by 100% productivity gains over statically typed languages.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;In this talk I will discuss a new approach, called gradual typing, that provides the benefits of static and dynamic type checking in the same language by giving the programmer control over which portions of a program are statically typed and which portions are dynamically checked based on the presence or absence of type annotations.  We are developing a gradual type checker for Python and working with the developers of Jython to bring gradual typing to the JVM.  This talk will describe the current status of our project and outline the challenges that lay ahead.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;; Talk Abstract: Static and dynamic type checking have well-known strengths and weaknesses. Static type checking enables compilers to generate highly efficient code and provides an important form of machine checked documentation for API functions. On the other hand, dynamic type checking provides greater flexibility and ease-of-use, as demonstrated in empirical studies by 100% productivity gains over statically typed languages.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;In this talk I will discuss a new approach, called gradual typing, that provides the benefits of static and dynamic type checking in the same language by giving the programmer control over which portions of a program are statically typed and which portions are dynamically checked based on the presence or absence of type annotations.  We are developing a gradual type checker for Python and working with the developers of Jython to bring gradual typing to the JVM.  This talk will describe the current status of our project and outline the challenges that lay ahead.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;http://wiki.jvmlangsummit.com/pdf/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;TBD&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;http://wiki.jvmlangsummit.com/pdf/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;28_Siek_gradual.pdf&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Author Bio ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Author Bio ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Penni</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.jvmlangsummit.com/index.php?title=PythonGradualTyping&amp;diff=104&amp;oldid=prev</id>
		<title>Penni: /* Abstract */</title>
		<link rel="alternate" type="text/html" href="https://wiki.jvmlangsummit.com/index.php?title=PythonGradualTyping&amp;diff=104&amp;oldid=prev"/>
		<updated>2008-09-25T18:24:49Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Abstract&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 18:24, 25 September 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l6&quot; &gt;Line 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Abstract ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Abstract ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;; Talk Abstract: Static and dynamic type checking have well-known strengths and weaknesses. Static type checking enables compilers to generate highly efficient code and provides an important form of machine checked documentation for API functions. On the other hand, dynamic type checking provides greater flexibility and ease-of-use, as demonstrated in empirical studies by 100% productivity gains over statically typed languages.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;In this talk I will discuss a new approach, called gradual typing, that provides the benefits of static and dynamic type checking in the same language by giving the programmer control over which portions of a program are statically typed and which portions are dynamically checked based on the presence or absence of type annotations.  We are developing a gradual type checker for Python and working with the developers of Jython to bring gradual typing to the JVM.  This talk will describe the current status of our project and outline the challenges that lay ahead.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;; Talk Abstract: Static and dynamic type checking have well-known strengths and weaknesses. Static type checking enables compilers to generate highly efficient code and provides an important form of machine checked documentation for API functions. On the other hand, dynamic type checking provides greater flexibility and ease-of-use, as demonstrated in empirical studies by 100% productivity gains over statically typed languages.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;In this talk I will discuss a new approach, called gradual typing, that provides the benefits of static and dynamic type checking in the same language by giving the programmer control over which portions of a program are statically typed and which portions are dynamically checked based on the presence or absence of type annotations.  We are developing a gradual type checker for Python and working with the developers of Jython to bring gradual typing to the JVM.  This talk will describe the current status of our project and outline the challenges that lay ahead.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;http://wiki.jvmlangsummit.com/pdf/TBD&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Author Bio ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Author Bio ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Penni</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.jvmlangsummit.com/index.php?title=PythonGradualTyping&amp;diff=95&amp;oldid=prev</id>
		<title>Penni: New page: == Gradual Typing for Python == Jeremy Siek  ; Project: http://ece.colorado.edu/~siek  === Abstract === ; Talk Abstract: Static and dynamic type checking have well-known strengths and weak...</title>
		<link rel="alternate" type="text/html" href="https://wiki.jvmlangsummit.com/index.php?title=PythonGradualTyping&amp;diff=95&amp;oldid=prev"/>
		<updated>2008-09-25T18:08:22Z</updated>

		<summary type="html">&lt;p&gt;New page: == Gradual Typing for Python == Jeremy Siek  ; Project: http://ece.colorado.edu/~siek  === Abstract === ; Talk Abstract: Static and dynamic type checking have well-known strengths and weak...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Gradual Typing for Python ==&lt;br /&gt;
Jeremy Siek&lt;br /&gt;
&lt;br /&gt;
; Project: http://ece.colorado.edu/~siek&lt;br /&gt;
&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
; Talk Abstract: Static and dynamic type checking have well-known strengths and weaknesses. Static type checking enables compilers to generate highly efficient code and provides an important form of machine checked documentation for API functions. On the other hand, dynamic type checking provides greater flexibility and ease-of-use, as demonstrated in empirical studies by 100% productivity gains over statically typed languages.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;In this talk I will discuss a new approach, called gradual typing, that provides the benefits of static and dynamic type checking in the same language by giving the programmer control over which portions of a program are statically typed and which portions are dynamically checked based on the presence or absence of type annotations.  We are developing a gradual type checker for Python and working with the developers of Jython to bring gradual typing to the JVM.  This talk will describe the current status of our project and outline the challenges that lay ahead.&lt;br /&gt;
&lt;br /&gt;
=== Author Bio ===&lt;br /&gt;
* &amp;lt;update the bio here&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Key Issues for Discussion (cooperative) ===&lt;br /&gt;
''(please expand cooperatively)''&lt;br /&gt;
[[Talk:Python]]&lt;/div&gt;</summary>
		<author><name>Penni</name></author>
		
	</entry>
</feed>