Matthias Felleisen is a German-American computer science professor and author. He grew up in Germany and immigrated to the US when he was 21 years old. He received his PhD from Indiana University under the direction of Daniel P. Friedman. After serving as professor for 14 years in the Computer Science Department of Rice University, Felleisen joined the Khoury College of Computer Sciences at Northeastern University in Boston, Massachusetts as Trustee Professor. Felleisen's interests include programming languages, including software tools, program design, software contracts, and many more. In the 1990s, Felleisen launched PLT and TeachScheme! (later ProgramByDesign and eventually giving rise to the Bootstrap project ) with the goal of teaching program-design principles to beginners and to explore the use of Scheme to produce large systems. As part of this effort, he authored How to Design Programs (MIT Press, 2001) with Findler, Flatt, and Krishnamurthi. For his dissertation Felleisen developed an extension of Church's lambda calculus with assignment statements and continuation operators. The dissertation re-proved the Church-Rosser theorem and the Curry-Feys Standardization Theorem for these extended calculus. It thus established a novel form of operational semantics for higher-order functional languages with imperative extensions. Its most well-known application is for a …
Matthias Felleisen
External links
Matthias Felleisen is a German-American computer science professor and author. He grew up in Germany and immigrated to the US when he was 21 years old. He received his PhD from Indiana University under the direction of Daniel P. Friedman. After serving as professor for 14 years in the Computer Science Department of Rice University, Felleisen joined the Khoury College of Computer Sciences at Northeastern University in Boston, Massachusetts as Trustee Professor. Felleisen's interests include programming languages, including software tools, program design, software contracts, and many more. In the 1990s, Felleisen launched PLT and TeachScheme! (later ProgramByDesign and eventually giving rise to the Bootstrap project ) with the goal of teaching program-design principles to beginners and to explore the use of Scheme to produce large systems. As part of this effort, he authored How to Design Programs (MIT Press, 2001) with Findler, Flatt, and Krishnamurthi. For his dissertation Felleisen developed an extension of Church's lambda calculus with assignment statements and continuation operators. The dissertation re-proved the Church-Rosser theorem and the Curry-Feys Standardization Theorem for these extended calculus. It thus established a novel form of operational semantics for higher-order functional languages with imperative extensions. Its most well-known application is for a proof of type safety, worked out with his PhD student Andrew Wright. Tim Griffin showed a few years later that Felleisen's lambda calculus with continuation operations is in a Curry-Howard correspondence to classical logic, a controversial insight at the time. In a similar vein, Barker and Shan connected continuations and especially Felleisen's delimited continuations calculus the linguistic concepts via Montague grammars. Part I of "Semantics Engineering with PLT Redex" is derived from his dissertation. Control delimiters, the basis of delimited continuations, were introduced by Felleisen in 1988. They have since been used in many domains, particularly in defining new control operators; see Queinnec for a survey. A-normal form (ANF), an intermediate representation of programs in functional compilers were introduced by Sabry and Felleisen in 1992 as a simpler alternative to continuation-passing style (CPS). An implementation in the CAML compiler demonstrated its practical usefulness and popularized the ideaWith Findler, Felleisen developed the notion of higher-order contracts. With such contracts, programmers can express assertions about the behavior of first-class functions, objects, classes and modules. Felleisen's work on gradual typing was a direct continuation of his work on these contracts; see below. In support of the TeachScheme! project, Felleisen and his team of Findler, Flatt, and Krishnamurthi designed and implemented the Racket programming language., Racket (nee PLT Scheme). The idea was to create a programming language with which it would be easy to quickly build pedagogic languages for novice students---a programmable programming language Flatt remains the lead architect of the Racket effort to this day. This Racket programming language has played a key role in the recent development of gradual typing. In 2006, Felleisen and his PhD student Sam Tobin-Hochstadt started the Typed Racket project with the goal of allowing developers to migrate code from an untyped programming language to the same syntax enriched with a sound type system The Typed Racket language was the first to fully implement and support the idea of "gradually typing" a code base and remains under active development. Felleisen gave the keynote addresses at the 2011 Technical Symposium on Computer Science Education, 2010 International Conference on Functional Programming, 2004 European Conference on Object-Oriented Programming and the 2001 Symposium on Principles of Programming Languages, and several other conferences and workshops on computer science. In 2006, he was inducted as a fellow of the Association for Computing Machinery. In 2009, he received the Karl V. Karlstrom Outstanding Educator Award from the ACM. In 2010, he received the SIGCSE Award for Outstanding Contribution to Computer Science Education from the ACM. In 2012, he received the ACM SIGPLAN Programming Languages Achievement Award for "significant and lasting contribution to the field of programming languages" including small-step operational semantics for control and state, mixin classes and mixin modules, a fully abstract semantics for Sequential PCF, web programming techniques, higher-order contracts with blame, and static typing for dynamic languages.