archives

Lang.NEXT 2012 - Session Videos Coming Online

Lang.NEXT, a cross-industry conference on programming language design and implementation, was held on Apr 2-4, 2012. The focus of the event is sharing mutual inspiration and novel ideas in programming language design and implementation in both industry and academia.

List of speakers:

Martin Odersky (keynote, Scala)
Walter Bright (D)
Peter Alvaro (Bloom)
Andrei Alexandrescu (D)
Stefan Karpinski (Julia)
Jeff Bezanson (Julia)
Kunle Olukotun (Scala, Pervasive Parllelism)
John Cook (R)
Andy Moran (Haskell)
Robert Griesemer (Go)
Gilad Bracha (Dart)
Kim Bruce (Grace)
Andrew Black (Grace)
Jeroen Frijters (IKVM.NET)
Herb Sutter (C++11)
Andy Gordon (Machine Learning)
Luke Hoban (ES 6)
Dustin Campbell (Roslyn)
Mads Torgersen (C# Async)
Donna Malayeri (F# 3.0)
Martyn Lovell (WinRT)

All session videos (or all-1, perhaps) will be available here: http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012. Currently live sessions (and keynote) are:

Keynote - Martin Odersky: Reflection and Compilers -> http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012/Reflection-and-Compilers

John Rose: Java 8 -> http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012/Java-8

Jeroen Frijters: IKVM.NET: Building a Java VM on the .NET Framework -> http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012/IKVM-NET-Building-a-Java-VM-on-the-NET-Framework

Andrew Black and Kim Bruce: Teaching with Grace -> http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012/Teaching-with-Grace

Adding Delimited and Composable Control to a Production Programming Environment

Adding Delimited and Composable Control to a Production Programming Environment (add'l material), Matthew Flatt, Gang Yu, Robert Bruce Findler, Matthias Felleisen, ICFP 2007.

Operators for delimiting control and for capturing composable continuations litter the landscape of theoretical programming language research. Numerous papers explain their advantages, how the operators explain each other (or don’t), and other aspects of the operators’ existence. Production programming languages, however, do not support these operators, partly because their relationship to existing and demonstrably useful constructs—such as exceptions and dynamic binding—remains relatively unexplored. In this paper, we report on our effort of translating the theory of delimited and composable control into a viable implementation for a production system. The report shows how this effort involved a substantial design element, including work with a formal model, as well as significant practical exploration and engineering. The resulting version of PLT Scheme incorporates the expressive combination of delimited and composable control alongside dynamic-wind, dynamic binding, and exception handling. None of the additional operators subvert the intended benefits of existing control operators, so that programmers can freely mix and match control operators.

Another tour de force by the PLT folks. Does your language have delimited control, delimited dynamic binding, and exceptions? It's the new gold standard, and so far only Racket and O'Caml qualify (and maybe Haskell and Scala?)

Racket's implementation is additionally interesting because it achieves backwards compatibility with code written using undelimited call/cc and dynamic-wind. The authors mention that a simpler solution would be possible without this compatibility - based on control filters from the Subcontinuations paper.