What Advanced Object-Oriented Dynamic Language (OODL) Design and Implementation
Which This course covers implementation techniques for advanced object-oriented dynamic languages (OODL). OODL's address the increasing demands for quick time to market by attempting to narrow the gap between conception and realization through a higher level of abstraction, clean semantics, automatic memory management, incremental development, and reflection. We will cover a series of compiler and runtime implementation techniques which permit the efficient delivery of these language / development environment features. This course is meant to complement a traditional compiler course (e.g., 6.035) through the presentation of cutting edge compilation techniques such as dynamic compilation, type inference, partial evaluation, feedback guided compilation, automatic inlining, class hierarchy analysis, object layout, proof-based techniques, etc. Going beyond compilers runtime system techniques such as fast multimethod dispatch, generational garbage collection, dependency tracking, virtual machines, etc will be covered. Rounding this out we will discuss techniques for supporting advanced development environments such as dependency tracking, function/class redefinition, remote debugging, browsing/compiler databases, profiling feedback, etc. Throughout the course relevant language design principles will be discussed. Furthermore, students will be able to explore a large number of these concepts with the actual implementation of Proto as well as other systems. Finally, there will be three panels of experts revealing secrets of the trade in the areas of run-time techniques, compile-time techniques, and language design principles.
Why To teach, learn and have fun.
Jonathan Bachrach, Post Doctoral Fellow, MIT AI Lab
Greg Sullivan, Research Scientist, MIT AI Lab
Kostas Arkoudas, Post Doctoral Fellow, MIT AI Lab and
bleeding-edge guest lecturers
Tom Knight, Senior Research Scientist, MIT AI Lab
Martin Rinard, Assistant Professor, MIT LCS
How Students will be expected to research and present one topic in the field during the course of the semester. In addition, students will complete one final project, which will be chosen from a number of suggestions.
When 2001, Spring Semester, tu-th 1-2.30
Where mit, 26-322
And proto