<?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=Thobe</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=Thobe"/>
	<link rel="alternate" type="text/html" href="https://wiki.jvmlangsummit.com/index.php?title=Special:Contributions/Thobe"/>
	<updated>2026-05-23T06:17:01Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>https://wiki.jvmlangsummit.com/index.php?title=2012_Main_Page&amp;diff=761</id>
		<title>2012 Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.jvmlangsummit.com/index.php?title=2012_Main_Page&amp;diff=761"/>
		<updated>2011-07-20T22:02:18Z</updated>

		<summary type="html">&lt;p&gt;Thobe: slides link for interface injection&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Welcome to the wiki for the 2011 JVM Language Summit, taking place July 18-20, 2011, at the Oracle Santa Clara Campus.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://openjdk.java.net/projects/mlvm/jvmlangsummit JVM Language Summit] main page&lt;br /&gt;
* Email contacts: [mailto:brian.goetz-at-oracle.com Brian Goetz] and [mailto:john.r.rose-at-oracle.com John Rose]&lt;br /&gt;
* Archived wiki pages: [[2008_Main_Page | 2008]], [[2009_Main_Page | 2009]], [[2010_Main_Page | 2010]]&lt;br /&gt;
* [[Logistics]] page for travel tips and requests&lt;br /&gt;
&lt;br /&gt;
== Agenda for the 2011 JVM Language Summit ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!Monday 7/18&lt;br /&gt;
!Tuesday 7/19&lt;br /&gt;
!Wednesday 7/20&lt;br /&gt;
|-&lt;br /&gt;
|  8:30|| align=&amp;quot;center&amp;quot; colspan=&amp;quot;3&amp;quot; style=&amp;quot;background-color:lightpink;&amp;quot; | Breakfast &amp;lt;br&amp;gt; (30 mins) &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  9:00|| Intro and Welcome || rowspan=&amp;quot;2&amp;quot; | Mark Roos &amp;lt;br&amp;gt; [[Porting Smalltalk]] || rowspan=&amp;quot;2&amp;quot; | Tobias Ivarsson &amp;lt;br&amp;gt; [[Interface injection]] ([[Media:inti2011.pdf|slides]])&lt;br /&gt;
|-&lt;br /&gt;
|  9:20|| rowspan=&amp;quot;2&amp;quot; | Cameron Purdy &amp;lt;br&amp;gt; [[2011 Keynote]]&lt;br /&gt;
|-&lt;br /&gt;
|  9:40|| rowspan=&amp;quot;1&amp;quot; | Jim Laskey &amp;lt;br&amp;gt; [[Nashorn]] ([[Media:Nashorn.pdf|slides]]) || rowspan=&amp;quot;1&amp;quot; | Brian Goetz &amp;lt;br&amp;gt; [[Extension methods]]&lt;br /&gt;
|-&lt;br /&gt;
| 10:20|| align=&amp;quot;center&amp;quot; colspan=&amp;quot;3&amp;quot; style=&amp;quot;background-color:lightpink;&amp;quot; | Break &amp;lt;br&amp;gt; (20 mins) &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 10:40|| Mads Torgersen &amp;lt;br&amp;gt; [[Async .NET]] ([[Media:Async_in_.NET.pdf|slides]]) || Shashank Bharadwaj &amp;lt;br&amp;gt; [[invokedynamic+Jython]] ([[Media:Indy_and_Jython-Shashank_Bharadwaj.pdf‎|slides]]) || Sunil Puri / Brian Goetz &amp;lt;br&amp;gt; Tracing JIT / Lambda Bytecode&lt;br /&gt;
|-&lt;br /&gt;
| 11:20|| style=&amp;quot;background-color:lightgreen;&amp;quot; | Mads Torgersen (TBA) || style=&amp;quot;background-color:lightgreen;&amp;quot; | Ola Bini (Seph) &amp;lt;br&amp;gt; Mark Roos || style=&amp;quot;background-color:lightgreen;&amp;quot; | Tom Marble (Jigsaw+Clojure) &amp;lt;br&amp;gt; Tobias Ivarsson&lt;br /&gt;
|-&lt;br /&gt;
| 12:20|| align=&amp;quot;center&amp;quot; colspan=&amp;quot;3&amp;quot; style=&amp;quot;background-color:lightpink;&amp;quot; | &amp;lt;br&amp;gt; Lunch &amp;lt;br&amp;gt; (60 mins) &amp;lt;br&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|  1:20|| John Rose &amp;lt;br&amp;gt; [[Method Handles]] ([[Media:Rose-2011-FutureDirections.pdf |slides]]) || Attila Szegedi &amp;lt;br&amp;gt; [[Dynalink]] ([[Media:Dynalink_2011_JVM_Language_Summit.pdf |slides]]) || Christine Flood &amp;lt;br&amp;gt; [[Fortress 2011|Fortress]] ([[Media:Project_Fortress_Bytecode_Optimizer.pdf|slides]])&lt;br /&gt;
|-&lt;br /&gt;
|  2:00|| Dan Heidinga &amp;lt;br&amp;gt; [[MethodHandle Impl]] ([[Media:2011 Heidinga.pdf|slides]]) || Georges Saab &amp;lt;br&amp;gt; [[Java SE]] || Thomas Wuerthinger &amp;lt;br&amp;gt; [[Graal]] ([[Media:GraalJVMSummit2011.pdf|slides]])&lt;br /&gt;
|-&lt;br /&gt;
|  2:40|| align=&amp;quot;center&amp;quot; colspan=&amp;quot;3&amp;quot; style=&amp;quot;background-color:lightpink;&amp;quot; | Break &amp;lt;br&amp;gt; (20 mins)&lt;br /&gt;
|-&lt;br /&gt;
|  3:00|| Charlie Nutter &amp;lt;br&amp;gt; [[JRuby 2011|JRuby]] ([[Media:2011 Nutter.pdf|slides]]) || Carson Gross &amp;lt;br&amp;gt; [[Gosu]] || Prashant Deva &amp;lt;br&amp;gt; [[Debugger]]&lt;br /&gt;
|-&lt;br /&gt;
|  3:40|| Rémi Forax &amp;lt;br&amp;gt; [[JSR-292 Cookbook]] ([[Media:2011 Forax.pdf|slides]]) || JetBrains &amp;lt;br&amp;gt; [[Kotlin]] || TBA &amp;lt;br&amp;gt; TBA&lt;br /&gt;
|-&lt;br /&gt;
|  4:20|| style=&amp;quot;background-color:lightgreen;&amp;quot; | Jeroen Frijters (IKVM.NET) &amp;lt;br&amp;gt; John Rose (TBA) || style=&amp;quot;background-color:lightgreen;&amp;quot; | Venkat Subramaniam (Language Integration) &amp;lt;br&amp;gt; JetBrains ([[Kotlin]]) || style=&amp;quot;background-color:lightgreen;&amp;quot; | Prashant Deva &amp;lt;br&amp;gt; Lukas Stadler ([[Graal]])&lt;br /&gt;
|-&lt;br /&gt;
|  5:20|| align=&amp;quot;center&amp;quot; colspan=&amp;quot;3&amp;quot; style=&amp;quot;background-color:lightyellow;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
|  6:00|| || align=&amp;quot;center&amp;quot; style=&amp;quot;background-color:lightpink;&amp;quot; | Dinner at Faultline ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Write Access &amp;amp; Uploading ==&lt;br /&gt;
&lt;br /&gt;
In order to modify the wiki, you need an account.&lt;br /&gt;
# Log in as user [[User:jvmlang|jvmlang]] and with a password which you should have received separately.&lt;br /&gt;
# Go to the [http://wiki.jvmlangsummit.com/index.php?title=Special:UserLogin&amp;amp;type=signup user creation page].  (If you have an OpenJDK or java.net user name, please reuse that here.)&lt;br /&gt;
# Log out, then back in using your new user name (note the tiny login link at the upper right).&lt;br /&gt;
&lt;br /&gt;
The initial jvmlang participant account does not have full write privileges; please use it only for self-registering.&lt;br /&gt;
&lt;br /&gt;
If you are having trouble recovering your password from last year, just re-register (e.g., ''jrose2'').&lt;br /&gt;
&lt;br /&gt;
* Consult the [http://meta.wikimedia.org/wiki/Help:Contents User's Guide] for information on using the wiki software.&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [http://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]&lt;br /&gt;
&lt;br /&gt;
== Bonus Discussions ==&lt;br /&gt;
&lt;br /&gt;
(add pages and/or workshop links here)&lt;br /&gt;
* [[Why Tailcalls]]&lt;/div&gt;</summary>
		<author><name>Thobe</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.jvmlangsummit.com/index.php?title=Interface_injection&amp;diff=746</id>
		<title>Interface injection</title>
		<link rel="alternate" type="text/html" href="https://wiki.jvmlangsummit.com/index.php?title=Interface_injection&amp;diff=746"/>
		<updated>2011-07-20T20:55:15Z</updated>

		<summary type="html">&lt;p&gt;Thobe: /* Workshop discussions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Interface Injection is a feature that allows adding interfaces that have been defined as injectable into any target class that does not already implement that interface.&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;The case for Interface Injection&amp;quot;==&lt;br /&gt;
;Speaker: [http://www.thobe.org/ Tobias Ivarsson]&lt;br /&gt;
;Project: https://github.com/thobe/mlvm (a patchset for the patchset for OpenJDK)&lt;br /&gt;
;Slides: [[Media:inti2011.pdf | The case for Interface Injection]]&lt;br /&gt;
&lt;br /&gt;
===Abstract===&lt;br /&gt;
It is time to start laying out the features for Java 8. I would like to propose considering interface injection for that feature set. Interface injection is the ability to inject an interface defined as injectable into any class in the JVM. In this talk I will outline the current status of the specification and implementation of interface injection. I will go through the various areas where interface injection is applicable, such as low overhead adapters, traits, and dynamic types. And I will discuss how interface injection relates to other features, such as defender methods and invoke dynamic.&lt;br /&gt;
&lt;br /&gt;
===Workshop discussions===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! &amp;lt;span title=&amp;quot;of a method declared in an interface to a class that implements that interface&amp;quot;&amp;gt;Add implementation&amp;lt;/span&amp;gt;&lt;br /&gt;
! &amp;lt;span title=&amp;quot;to a class that doesn't already implement that interface, so that it now implements that interface&amp;quot;&amp;gt;Add interface&amp;lt;/span&amp;gt;&lt;br /&gt;
! &amp;lt;span title=&amp;quot;to an interface&amp;quot;&amp;gt;Add method&amp;lt;/span&amp;gt;&lt;br /&gt;
| ''(&amp;lt;-- hover these titles for description)''&lt;br /&gt;
|- &lt;br /&gt;
| Defender methods&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ''add implementations for methods defined in the interface, that the class doesn't implement''&lt;br /&gt;
|- &lt;br /&gt;
| Interface adaptation&lt;br /&gt;
|&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
| ''Add an interface to a class that doesn't declare that it implements that interface, but implements all methods of the interface''&lt;br /&gt;
|- &lt;br /&gt;
| Interface injection&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
| ''Add an interface to a class that doesn't declare that it implements that interface, also add implementations for the methods of that interface''&lt;br /&gt;
|- &lt;br /&gt;
| Implements ''Dynamic''&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| X&lt;br /&gt;
| ''Invoke any method (name+signature) on a class that declares that it implements a special interface''&lt;br /&gt;
|- &lt;br /&gt;
| Inject ''Dynamic''&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| ''Invoke any method (name+signature) on any class, by adding a special interface''&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Thobe</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.jvmlangsummit.com/index.php?title=Interface_injection&amp;diff=745</id>
		<title>Interface injection</title>
		<link rel="alternate" type="text/html" href="https://wiki.jvmlangsummit.com/index.php?title=Interface_injection&amp;diff=745"/>
		<updated>2011-07-20T20:40:51Z</updated>

		<summary type="html">&lt;p&gt;Thobe: /* Workshop discussions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Interface Injection is a feature that allows adding interfaces that have been defined as injectable into any target class that does not already implement that interface.&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;The case for Interface Injection&amp;quot;==&lt;br /&gt;
;Speaker: [http://www.thobe.org/ Tobias Ivarsson]&lt;br /&gt;
;Project: https://github.com/thobe/mlvm (a patchset for the patchset for OpenJDK)&lt;br /&gt;
;Slides: [[Media:inti2011.pdf | The case for Interface Injection]]&lt;br /&gt;
&lt;br /&gt;
===Abstract===&lt;br /&gt;
It is time to start laying out the features for Java 8. I would like to propose considering interface injection for that feature set. Interface injection is the ability to inject an interface defined as injectable into any class in the JVM. In this talk I will outline the current status of the specification and implementation of interface injection. I will go through the various areas where interface injection is applicable, such as low overhead adapters, traits, and dynamic types. And I will discuss how interface injection relates to other features, such as defender methods and invoke dynamic.&lt;br /&gt;
&lt;br /&gt;
===Workshop discussions===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! Add implementation&lt;br /&gt;
! Add interface&lt;br /&gt;
! Add method&lt;br /&gt;
|- &lt;br /&gt;
| Defender methods&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| ''add implementations for methods defined in the interface, that the class doesn't implement''&lt;br /&gt;
|- &lt;br /&gt;
| Interface adaptation&lt;br /&gt;
|&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
| ''Add an interface to a class that doesn't declare that it implements that interface, but implements all methods of the interface''&lt;br /&gt;
|- &lt;br /&gt;
| Interface injection&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
|&lt;br /&gt;
| ''Add an interface to a class that doesn't declare that it implements that interface, also add implementations for the methods of that interface''&lt;br /&gt;
|- &lt;br /&gt;
| Implements ''Dynamic''&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| X&lt;br /&gt;
| ''Invoke any method (name+signature) on a class that declares that it implements a special interface''&lt;br /&gt;
|- &lt;br /&gt;
| Inject ''Dynamic''&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| ''Invoke any method (name+signature) on any class, by adding a special interface''&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Thobe</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.jvmlangsummit.com/index.php?title=Interface_injection&amp;diff=736</id>
		<title>Interface injection</title>
		<link rel="alternate" type="text/html" href="https://wiki.jvmlangsummit.com/index.php?title=Interface_injection&amp;diff=736"/>
		<updated>2011-07-20T17:03:02Z</updated>

		<summary type="html">&lt;p&gt;Thobe: /* &amp;quot;The case for Interface Injection&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Interface Injection is a feature that allows adding interfaces that have been defined as injectable into any target class that does not already implement that interface.&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;The case for Interface Injection&amp;quot;==&lt;br /&gt;
;Speaker: [http://www.thobe.org/ Tobias Ivarsson]&lt;br /&gt;
;Project: https://github.com/thobe/mlvm (a patchset for the patchset for OpenJDK)&lt;br /&gt;
;Slides: [[Media:inti2011.pdf | The case for Interface Injection]]&lt;br /&gt;
&lt;br /&gt;
===Abstract===&lt;br /&gt;
It is time to start laying out the features for Java 8. I would like to propose considering interface injection for that feature set. Interface injection is the ability to inject an interface defined as injectable into any class in the JVM. In this talk I will outline the current status of the specification and implementation of interface injection. I will go through the various areas where interface injection is applicable, such as low overhead adapters, traits, and dynamic types. And I will discuss how interface injection relates to other features, such as defender methods and invoke dynamic.&lt;br /&gt;
&lt;br /&gt;
===Workshop discussions===&lt;br /&gt;
... TODO ...&lt;/div&gt;</summary>
		<author><name>Thobe</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.jvmlangsummit.com/index.php?title=File:Inti2011.pdf&amp;diff=735</id>
		<title>File:Inti2011.pdf</title>
		<link rel="alternate" type="text/html" href="https://wiki.jvmlangsummit.com/index.php?title=File:Inti2011.pdf&amp;diff=735"/>
		<updated>2011-07-20T16:59:27Z</updated>

		<summary type="html">&lt;p&gt;Thobe: Presentation slides for &amp;quot;The case for Interface Injection&amp;quot; by Tobias Ivarsson&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Presentation slides for &amp;quot;The case for Interface Injection&amp;quot; by Tobias Ivarsson&lt;/div&gt;</summary>
		<author><name>Thobe</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.jvmlangsummit.com/index.php?title=Interface_injection&amp;diff=696</id>
		<title>Interface injection</title>
		<link rel="alternate" type="text/html" href="https://wiki.jvmlangsummit.com/index.php?title=Interface_injection&amp;diff=696"/>
		<updated>2011-07-18T22:27:38Z</updated>

		<summary type="html">&lt;p&gt;Thobe: /* The case for Interface Injection */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Interface Injection is a feature that allows adding interfaces that have been defined as injectable into any target class that does not already implement that interface.&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;The case for Interface Injection&amp;quot;==&lt;br /&gt;
;Speaker: [http://www.thobe.org/ Tobias Ivarsson]&lt;br /&gt;
;Project: https://github.com/thobe/mlvm (a patchset for the patchset for OpenJDK)&lt;br /&gt;
;Slides: ...&lt;br /&gt;
&lt;br /&gt;
===Abstract===&lt;br /&gt;
It is time to start laying out the features for Java 8. I would like to propose considering interface injection for that feature set. Interface injection is the ability to inject an interface defined as injectable into any class in the JVM. In this talk I will outline the current status of the specification and implementation of interface injection. I will go through the various areas where interface injection is applicable, such as low overhead adapters, traits, and dynamic types. And I will discuss how interface injection relates to other features, such as defender methods and invoke dynamic.&lt;/div&gt;</summary>
		<author><name>Thobe</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.jvmlangsummit.com/index.php?title=Interface_injection&amp;diff=695</id>
		<title>Interface injection</title>
		<link rel="alternate" type="text/html" href="https://wiki.jvmlangsummit.com/index.php?title=Interface_injection&amp;diff=695"/>
		<updated>2011-07-18T22:27:11Z</updated>

		<summary type="html">&lt;p&gt;Thobe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Interface Injection is a feature that allows adding interfaces that have been defined as injectable into any target class that does not already implement that interface.&lt;br /&gt;
&lt;br /&gt;
==The case for Interface Injection==&lt;br /&gt;
;Speaker: [http://www.thobe.org/ Tobias Ivarsson]&lt;br /&gt;
;Project: https://github.com/thobe/mlvm (a patchset for the patchset for OpenJDK)&lt;br /&gt;
;Slides: ...&lt;br /&gt;
&lt;br /&gt;
===Abstract===&lt;br /&gt;
It is time to start laying out the features for Java 8. I would like to propose considering interface injection for that feature set. Interface injection is the ability to inject an interface defined as injectable into any class in the JVM. In this talk I will outline the current status of the specification and implementation of interface injection. I will go through the various areas where interface injection is applicable, such as low overhead adapters, traits, and dynamic types. And I will discuss how interface injection relates to other features, such as defender methods and invoke dynamic.&lt;/div&gt;</summary>
		<author><name>Thobe</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.jvmlangsummit.com/index.php?title=Interface_injection&amp;diff=693</id>
		<title>Interface injection</title>
		<link rel="alternate" type="text/html" href="https://wiki.jvmlangsummit.com/index.php?title=Interface_injection&amp;diff=693"/>
		<updated>2011-07-18T22:20:28Z</updated>

		<summary type="html">&lt;p&gt;Thobe: New page: Interface Injection is a feature that allows adding interfaces that have been defined as injectable into any target class that does not already implement that interface.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Interface Injection is a feature that allows adding interfaces that have been defined as injectable into any target class that does not already implement that interface.&lt;/div&gt;</summary>
		<author><name>Thobe</name></author>
		
	</entry>
</feed>