|
|
When:
Thursday, May 01, 12:00 p.m.
Where: 1305Newell-Simon Hall
Noam Zeilberger
Speaking Skills Talk
Abstract: "So much time and so little to do. Wait a minute. Strike that. Reverse it." As Willy Wonka once observed, duality is a powerful tool for reorganizing old ideas, and for generating new ones. In this talk, I will explore ways in which duality can be used to give a simpler account of some basic concepts from programming languages, as well as to build more expressive languages. One of the forms of duality I will focus on is well-known in computer science, variously called "value vs continuation" or "data vs control" or "user vs environment". Logically, this form of duality corresponds to the notion of proof vs refutation. The other form of duality is perhaps under-appreciated, and comes from viewing the "vs" in these dichotomies as literally implying a game: one of the two players (e.g., Valerie the value) must make the first move, to which the other player (Conor the continuation) must respond. In this case, since Valerie picks an opening move, she behaves logically like an existential quantifier, whereas Conor acts like a universal quantifier since he must respond to any of Valerie''s potential moves–on the other hand, the roles could easily be reversed.
Together, these two forms of duality form what Aristotle called a "square of opposition". I will try to help the audience visualize how nestled inside this square lie the basic ingredients for a programming language with pattern-matching and mixed evaluation order.
Presented in Partial Fulfillment of the CSD Speaking Skills Requirement.
<< Back
|