Matthias Felleisen

Un article de Wikipédia, l'encyclopédie libre.
Matthias Felleisen
Biographie
Naissance
Formation
Activités
Autres informations
A travaillé pour
Membre de
Directeur de thèse
Daniel P. Friedman (en)Voir et modifier les données sur Wikidata
Distinctions

Matthias Felleisen est un professeur d'informatique germano-américain. Il grandit en Allemagne et émigre aux États-Unis à l'âge de 21 ans. Il obtient son doctorat à l'Université de l'Indiana sous la direction de Daniel P. Friedman.

Biographie[modifier | modifier le code]

Après avoir été professeur pendant 14 ans au Département d'informatique de l'Université Rice, Felleisen rejoint le Khoury College of Computer Sciences de l'Université Northeastern à Boston, Massachusetts.

Les intérêts de Felleisen incluent les langages de programmation, notamment les outils logiciels, la conception de programmes, les contrats logiciels[1]. Dans les années 1990, Felleisen a lancé PLT et TeachScheme! (qui est devenu plus tard ProgramByDesign et donnant finalement naissance au projet Bootstrap[2]) dans le but d'enseigner les principes de conception de programmes aux débutants et d'explorer l'utilisation de Scheme pour produire de grands systèmes. Dans le cadre de cet effort, il est l'auteur de How to Design Programs (MIT Press, 2001) avec Findler, Flatt et Krishnamurthi.

Pour sa thèse, Felleisen développe une nouvelle forme de sémantique opérationnelle pour les langages fonctionnels d'ordre supérieur avec des extensions impératives (état, contrôle). La première partie de Semantics Engineering with PLT Redex[3] est dérivée de sa thèse. Son application la plus connue est une preuve de sûreté de type, élaborée avec son doctorant Andrew Wright.

Les délimiteurs de contrôle, la base des continuations délimitées, ont été introduits par Felleisen[4] en 1988. Ils ont depuis été utilisés dans de nombreux domaines, notamment pour définir de nouveaux opérateurs de contrôle ; voir Queinnec[5] pour une rétrospective.

La forme A-normale (ANF), une représentation intermédiaire des programmes dans les compilateurs fonctionnels, a été introduite par Sabry et Felleisen en 1992[6] comme une alternative plus simple à la sémantique par passage de continuation (CPS). Une implémentation dans le compilateur CAML a démontré son utilité pratique et popularisé l'idée[7].

Avec Findler, Felleisen a développé la notion de contrats d'ordre supérieur[8]. Dans ces contrats, les programmeurs peuvent exprimer des assertions sur le comportement de fonctions, d'objets, de classes et de modules. Le travail de Felleisen sur le typage progressif était une continuation de son travail sur ces contrats; voir ci-dessous.

Dans le cadre de TeachScheme!, Felleisen, Findler, Flatt et Krishnamurthi ont conçu et mis en œuvre le langage de programmation Racket[9] (appelé initialement PLT Scheme). L'idée était de créer un langage de programmation avec lequel il serait facile de construire rapidement des langages pédagogiques pour les étudiants novices --- un langage de programmation pour créer des langages[10]. Flatt reste l'architecte principal de Racket.

Racket a joué un rôle clé dans le développement du typage progressif. En 2006, Felleisen et son doctorant Sam Tobin-Hochstadt ont lancé le projet Typed Racket dans le but de permettre aux développeurs de migrer le code d'un langage de programmation non typé vers la même syntaxe enrichie d'un système de types[11],[12]. Typed Racket a été le premier langage à implémenter pleinement l'idée de typer progressivement une base de code et reste en cours de développement actif.

Felleisen a prononcé les discours d'ouverture du Symposium technique 2011 sur l'enseignement de l'informatique, de la Conférence internationale 2010 sur la programmation fonctionnelle[13] , de la Conférence européenne 2004 sur la programmation orientée objet et du Symposium 2001 sur les principes des langages de programmation, et de plusieurs autres conférences et ateliers sur l'informatique.

En 2006, il a été nommé fellow de l'Association for Computing Machinery. En 2009, il a reçu le prix Karl V. Karlstrom Outstanding Educator de l'ACM[14]. En 2010, il a reçu le prix SIGCSE pour sa contribution exceptionnelle à l'enseignement de l'informatique de l'ACM[15]. En 2012, il a reçu le ACM SIGPLAN Programming Languages Achievement Award pour sa « contribution significative et durable dans le domaine des langages de programmation »[16], y compris une sémantique opérationnelle à petits pas pour le contrôle et l'état, les classes mixin et les modules mixin, une sémantique entièrement abstraite pour PCF séquentiel, des techniques de programmation Web, les contrats d'ordre supérieur et le typage statique pour les langages dynamiques.

Bibliographie[modifier | modifier le code]

Felleisen est co-auteur de

  • Realm Of Racket, No Starch Press,
  • Semantics Engineering with PLT Redex, MIT Press,
  • How to Design Programs, MIT Press,
  • A Little Java, A Few Patterns, MIT Press,
  • The Little MLer, MIT Press,
  • The Little Schemer, MIT Press, 4th Ed.,
  • The Seasoned Schemer, MIT Press,

Références[modifier | modifier le code]

  1. « Research » (consulté le )
  2. « Bootstrap World » (consulté le )
  3. « Semantics Engineering » (consulté le )
  4. Matthias Felleisen, « The theory and practice of first-class prompts », Principles of Programming Languages,‎ , p. 180–190 (ISBN 0-89791-252-7, DOI 10.1145/73560.73576)
  5. (en) Queinnec, Christian, « A library of high-level control operators », ACM SIGPLAN Lisp PointersVolume VIIssue 4Oct.-Dec. 1993 pp 11–26https://doi.org/10.1145/181889.181891, ACM, vol. VI, no 4,‎ , p. 11-26 (lire en ligne Accès libre)
  6. Amr Sabry et Felleisen, Matthias « Reasoning about Programs in Continuation-Passing Style » (lire en ligne, consulté le )
    « (ibid.) », dans Proceedings of the 1992 ACM Conference on LISP and Functional Programming, LFP'92, San Francisco, CA, US
  7. Cormac Flanagan, Sabry, Amr, Duba, Bruce et Felleisen, Matthias « The Essence of Compiling with Continuation » (lire en ligne, consulté le )
    « (ibid.) », dans Proceedings of the 1993 ACM Conference on Programming Language Design and Implementation, PLDI'93, Albuquerque, New Mexico, US
  8. Robert Findler et Felleisen, Matthias « Contracts for Higher-order Functions » (lire en ligne, consulté le )
    « (ibid.) », dans Proceedings of the 2--2 ACM International Conference on Functional Programming, ICFP'02, Pittsburgh, PA, US
  9. Racket: People, retrieved 2020-10-29.
  10. Sam Tobin-Hochstadt, Findler, Robert, Flatt, Matthew, Krishnamurthi, Shriram, Barzilay, Eli, McCarthy, Jay et Tobin-Hochstadt, Sam « Interlanguage Migration: From Scripts to Programs » (lire en ligne, consulté le )
    « (ibid.) », dans Communications of the ACM, Portland, OR
  11. Sam Tobin-Hochstadt et Felleisen, Matthias « Interlanguage Migration: From Scripts to Programs » (lire en ligne, consulté le )
    « (ibid.) », dans Proceedings of the Symposium on Object-Oriented Programming Systems, Companion Volume, Portland, OR
  12. Sam Tobin-Hochstadt et Felleisen, Matthias « The Design and Implementation of Typed Scheme » (lire en ligne, consulté le )
    « (ibid.) », dans Proceedings of the Principles of Programming Languages, San Diego, CA
  13. « ICFP 2010 Homepage » (consulté le )
  14. « ACM Award Citation » [archive du ] (consulté le )
  15. « Outstanding Contribution Award », sur SIGCSE, web.archive.org, (consulté le )
  16. « Programming Languages Achievement Award » (consulté le )

Liens externes[modifier | modifier le code]