I will reprise the tutorial/workshop that Nada Amin and I taught at Lambda Jam and Recurse Center in 2013, which in turn is based on exercises from Dan Friedman’s famous programming languages course at Indiana University.
I will guide you in writing your own Scheme-to-C translator by demystifying the program transformations that make a higher-order functional program run on a spartan host. You’ll learn about continuation-passing style, representation independence, registerization, and trampolining. After illustrating the program transformations step-by-step on some Scheme programs, I will challenge you to automate the steps!
Jason Hemann is an Assistant Professor of Computer Science in the Department of Mathematics and Computer Science at Seton Hall University. Hemann’s research interests include functional and logic programming DSLs. He focuses on embeddings and extensions to support logic programming in numerous host languages, transforming functional programs to relational ones, and teaching languages to support DSL programming. His microKanren model has inspired scores of implementations – more than 150, in over 50 host languages. Jason’s other interests concern novel uses of logic programming and symbolic constraint systems and typesafe embeddings of logic languages.
Jason’s research interests blend together with his teaching. His research questions tend to emerge from his teaching, and his results make it back into the classroom. An example of this approach can be found in his recently published textbook “The Reasoned Schemer, 2nd Edition”. He has been teaching in various capacities for over 15 years, including pre-college STEM programs, private professional training programs, and university courses at undergraduate and graduate levels. His awards include “Associate Instructor of the Year” at Indiana University.
Prior to joining SHU, Jason held Teaching Professor and Lecturer positions at Northeastern University and the Rose-Hulman Institute of Technology. Jason earned his Ph.D. in 2020 from the School of Informatics, Computing, and Engineering at Indiana University as part of the programming language research community and under the supervision of Dan Friedman. He earned his master’s in computer science from the School of Informatics and Computing at Indiana University, and both of his bachelor’s in computer science and philosophy and a bachelor of arts in history at Trinity University in San Antonio, Texas.
Sat 7 SepDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
14:00 - 15:30 | |||
14:00 90mTutorial | Tutorial on Program Transformations Scheme Jason Hemann Seton Hall University |