"My programs just write themselves!" This phrase is frequently exclaimed by users of functional programming languages with advanced type systems who observe that rich types often guide them directly towards correct programs. In reality, this paradigm known as type-directed programming is far from automatic. To take advantage of rich types, a developer must carefully and precisely reason about the types of their programs, a seemingly mechanical, yet cognitively demanding process.
To this end, I will describe two of our efforts to understand, automate, and apply the type-directed programming process. One of these efforts is type-directed program synthesis, where we derive synthesis algorithms from type checking systems, allowing us to build synthesizers that take advantage of rich types. The other effort is functional reactive molecular programming, where we apply the power of types and dataflows to design a language to program with molecular reactions, a novel, non-standard substrate for computing.
Peter-Michael Osera received his B.S. in Computer Science and Applied and Computational Math Sciences and B.A. in the Comparative History of Ideas from the University of Washington in 2006 and received his Ph.D. in Computer Science from the University of Pennsylvania in 2015. He is currently an Assistant Professor of Computer Science at Grinnell College. Peter-Michael's mission is to help people harness the power of computation in its many forms, particularly through computer programming. He does this by studying problems at the intersection of programming languages and systems, human-computing interaction, and computer science education.
Talk url | Passcode: 766398 [Video-off please during talk]*
* Attendance of those enrolled in CS:6000 will be taken in-person for in-person talks [get in touch with Prof. Morris if you have extenuating circumstances]
[Couldn't make it? Click on image below for recording]