For the best quality, click on the zoom button in the right corner.
Playback buffering? Try the lower quality version. You can also download the mp4 version.
Presentation slides (OpenOffice file). A reduced version of the slides is also available as a pdf file.
Lightweight language support for type-based, concurrent event processing
Philipp Haller
Many concurrent applications are structured around type-based event handling. Scala provides a library for event-based actors, which allows common idioms to be expressed in a concise and intuitive way. However, innocent-looking programs can exhibit catastrophic performance under certain conditions. In this paper, we introduce translucent functions, a type-based refinement of Scala's pattern-matching functions. Translucent functions additionally provide the run-time types of classes that identify disjoint cases in a pattern. We show how this additional type information can be used to optimize actors as well as a form of join-style synchronization.