Matthias Felleisen
Matthias Felleisen | |
---|---|
Tucson (1980-1981) | |
Known for | Founder of PLT, operational semantics, type safety, continuations, gradual typing, A-normal form |
Awards | the ACM Karl V. Karlstrom Award, ACM Fellow |
Scientific career | |
Fields | Computer scientist |
Institutions | Rice University Northeastern University |
Thesis | The Calculi of Lambda_v-CS Conversion: A Syntactic Theory of Control and State in Imperative Higher-Order Programming Languages |
Matthias Felleisen is a
After serving as professor for 14 years in the Computer Science Department of
Felleisen's interests include programming languages, including software tools, program design, software contracts, and many more.[1] In the 1990s, Felleisen launched PLT and TeachScheme! (later ProgramByDesign and eventually giving rise to the Bootstrap project [2]) 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
Control delimiters, the basis of delimited continuations, were introduced by Felleisen[7] in 1988. They have since been used in many domains, particularly in defining new control operators; see Queinnec[8] for a survey.
With Findler, Felleisen developed the notion of higher-order contracts.[11] 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.,[12] 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[13] 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[14][15] 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
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.[17] 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"[18] 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. In 2018, Felleisen received the ACM SIGPLAN's Programming Languages Software Award (jointly with the rest of the Racket core team).
Books
Felleisen is co-author of:
- Realm Of Racket ISBN 9781593274917(No Starch Press, 2013)
- Semantics Engineering with PLT Redex ISBN 978-0-262-06275-6(MIT Press, 2009)
- How to Design Programs (MIT Press, 2001, 2nd Ed. 2018)
- A Little Java, A Few Patterns ISBN 0-262-56115-8(MIT Press, 1998)
- The Little MLer ISBN 0-262-56114-X(MIT Press, 1998)
- The Little Schemer ISBN 0-262-56099-2(MIT Press, 4th Ed., 1996)
- The Seasoned Schemer ISBN 0-262-56100-X(MIT Press, 1996)
- The Little Lisper ISBN 0-262-56038-0(MIT Press, 1987)
References
- ^ "Research". Retrieved 2012-06-26.
- ^ "Bootstrap World". Retrieved 2019-05-31.
- ISBN 978-0-89791-343-0.
- ISBN 978-0-19-957501-5.
- ^ "Semantics Engineering". Retrieved 2019-06-16.
- )
- CiteSeerX 10.1.1.29.4790.
- ^ Sabry, Amr; Felleisen, Matthias. "Reasoning about Programs in Continuation-Passing Style". Proceedings of the 1992 ACM Conference on LISP and Functional Programming, LFP'92. San Francisco, CA, US. Sabry92. Retrieved 2012-11-16.
- ^ Flanagan, Cormac; Sabry, Amr; Duba, Bruce; Felleisen, Matthias. "The Essence of Compiling with Continuation". Proceedings of the 1993 ACM Conference on Programming Language Design and Implementation, PLDI'93. Albuquerque, New Mexico, US. Flanagan93. Retrieved 2021-08-11.
- ^ Findler, Robert; Felleisen, Matthias. "Contracts for Higher-order Functions". Proceedings of the 2--2 ACM International Conference on Functional Programming, ICFP'02. Pittsburgh, PA, US. Findler01. Retrieved 2021-08-11.
- ^ Racket: People, retrieved 2020-10-29.
- ^ Tobin-Hochstadt, Sam; Findler, Robert; Flatt, Matthew; Krishnamurthi, Shriram; Barzilay, Eli; McCarthy, Jay; Tobin-Hochstadt, Sam. "Interlanguage Migration: From Scripts to Programs". Communications of the ACM. Portland, OR. Felleisen18. Retrieved 2020-11-07.
- ^ Tobin-Hochstadt, Sam; Felleisen, Matthias. "Interlanguage Migration: From Scripts to Programs". Proceedings of the Symposium on Object-Oriented Programming Systems, Companion Volume. Portland, OR. Tobin-Hochstadt06. Retrieved 2020-11-06.
- ^ Tobin-Hochstadt, Sam; Felleisen, Matthias. "The Design and Implementation of Typed Scheme". Proceedings of the Principles of Programming Languages. San Diego, CA. Tobin-Hochstadt08. Retrieved 2020-11-06.
- ^ "ICFP 2010 Homepage". Retrieved 2012-12-18.
- ^ "ACM Award Citation". Archived from the original on 2012-05-04. Retrieved 2012-06-26.
- ^ "Programming Languages Achievement Award". Retrieved 2012-06-26.
- ^ "Programming Languages Software Award". www.sigplan.org. Retrieved 2024-02-12.