Systems seminar (590s): Winter 2008

Wednesdays 1:30-2:30pm, in EEB 054

For the first half of this quarter, we'll be reading an old paper and a new paper on a given topic each week. Our hope is that we'll consider how much time has passed on each topic relative to what has changed. Which are high-value topics that continue to produce ideas and impact? Which are challenging topics waiting to be cracked before their impact is felt? What should we be working on, anyways?
Jan 16: Robert Grimm, NYU
Adventures in Extensibility -- Of Languages and Compilers
Robert Grimm, NYU

Programming language technologies help reduce software complexity. But they are hard to realize, since compilers are complex systems themselves. To simplify compiler construction, the xtc project explores how to make languages and their compilers more easily extensible and to thus encourage the reuse of compiler components. This talk presents the resulting toolkit, which focuses on source-to-source transformers that translate extended languages to more basic versions. The xtc toolkit includes a parser generator, a type checker generator, and a code generator generator. I illustrate xtc with examples from the Jeannie language, which extends both Java and C by nesting Java and C code within each other at the level of individual statements and expressions. By fully combining the two languages' syntax and semantics, Jeannie eliminates verbose boiler-plate code, enables static error detection across the language boundary, and simplifies dynamic resource management. xtc makes this novel language composition practical, while also demonstrating the power of language technologies for reducing software complexity.

Jan 23: Type-safe languages and OS design
Jan 30: File systemsSpecial Room: CSE 403
Feb 6: Supporting distributed apps
Feb 13: Applications of VMMs

For the second half of the quarter, we'll revert back to our usual one-paper-per-week mode: