分享主题 / Title
Designing Safe, Flexible Linguistic Abstractions for Control Flow
分享时间 / Time
2021-07-22 (Thursday)
10:00-12:00 (Beijing Time)
会议链接 / Zhumu ID
Zhumu ID:800272207
会议链接:https://welink.zhumu.com/j/800272207
主讲人 / Speaker
Yizhou Zhang,滑铁卢大学 CS 专业助理教授,是软件工程与编程语言领域的青年才俊。他于2020年加入滑铁卢大学,此前在康奈尔大学获得 CS 专业博士及硕士学位。Zhang 教授主要研究编程语言的设计及实现,旨在开发高级抽象语言,来满足构建可扩展、可靠软件所需的表现力和可靠性需求。
个人主页:https://cs.uwaterloo.ca/~yizhou/
内容大纲 / Abstract
Programming-language design is livelier than ever: existing languages are evolving continually and rapidly, and new languages keep springing up. While this constant iteration of language design helps programmers manage a growing software complexity, programmers are still frequently frustrated by poor design decisions in even the most essential aspects (e.g., generics and exceptions) of modern languages. The inadequacy of current solutions to these problems has even forced language designers to abandon these problematic language features. This is an unfortunate state of affairs.
Language design does not have to be about abandoning old features or piling on new ones. A principled approach to language design can offer simplicity, expressive power, strong guarantees, and good performance all at the same time. As an example, I will describe a novel exception-handling mechanism. Its design is an effort towards settling the long-running debate over checked vs. unchecked exceptions; the payoff is safer, cleaner, and faster code. I will also discuss how this design can be generalized to fix a fundamental modularity problem in algebraic effects and, further, how modular algebraic effects can be generalized to support bidirectional control transfer and thus unify a flurry of recent language features.