Thu, Mar 23, 2017 @ 04:00 PM - 05:20 PM
Conferences, Lectures, & Seminars
Speaker: Matthew Brown, UCLA
Talk Title: Typed Self-Applicable Meta-Programming
Series: CS Colloquium
Abstract: This lecture satisfies requirements for CSCI 591: Computer Science Research Colloquium.
Meta-programming is a fundamental technique in computer science. It allows high levels of abstraction to be utilized with low cost. Meta-programs like compilers, interpreters, and program optimizers make high-level programming languages efficient, providing increased programmer productivity and performance comparable to lower-level languages. Self-applicable meta-programming makes meta-programming first-class, enabling many powerful
techniques. However, meta-programming and particularly self-applicable meta-programming is often complex, error-prone and difficult to debug. For these reasons it has untapped potential to provide benefits in many areas. Typed meta-programming uses modern techniques for type checking meta-programs to make them less error-prone and easier to understand and debug. It also brings the power of self-applicable meta-programming to statically-typed languages, ending a long-persisting trade-off between static and dynamic type checking. In this talk I discuss foundational results in typed self-applicable meta-programming.
Biography: Matt Brown is PhD candidate at UCLA, working in the compilers lab under Jens Palsberg. He holds a Bachelor's degree from UC Santa Cruz and a Master's from UCLA. His research focus is typed self-applicable meta-programming, which uses typed program representation techniques to ensure correctness properties of self-applicable meta-programs like self-interpreters. Other research interests include type systems, program verification, concurrency, and functional programming languages. He was recently a part-time lecturer at Loyola Marymount University and has six years of industry experience.
Host: CS Department
Audiences: Everyone Is Invited
Contact: Assistant to CS chair