stringtranslate.com

Matías Felleisen

Matthias Felleisen es un autor y profesor de informática germano-estadounidense . Creció en Alemania y emigró a Estados Unidos cuando tenía veinte años. Recibió su doctorado en la Universidad de Indiana bajo la dirección de Daniel P. Friedman .

Después de trabajar como profesor durante 14 años en el Departamento de Ciencias de la Computación de la Universidad Rice , Felleisen se unió a la Facultad de Ciencias de la Computación Khoury de la Universidad Northeastern en Boston , Massachusetts , como profesor fideicomisario.

Los intereses de Felleisen incluyen lenguajes de programación, incluidas herramientas de software, diseño de programas, contratos de software y muchos más. [1] En la década de 1990, Felleisen lanzó PLT y TeachScheme. (más tarde ProgramByDesign y eventualmente dando lugar al proyecto Bootstrap [2] ) con el objetivo de enseñar principios de diseño de programas a principiantes y explorar el uso de Scheme para producir sistemas grandes. Como parte de este esfuerzo, fue autor de Cómo diseñar programas ( MIT Press , 2001) con Findler , Flatt y Krishnamurthi .

Para su disertación, Felleisen desarrolló una extensión del cálculo lambda de Church con declaraciones de asignación y operadores de continuación. La disertación volvió a demostrar el teorema de Church-Rosser y el teorema de estandarización de Curry-Feys para estos cálculos extendidos. De este modo, estableció una forma novedosa de semántica operativa para lenguajes funcionales de orden superior con extensiones imperativas. Su aplicación más conocida es la prueba de seguridad de tipos , elaborada con su estudiante de doctorado Andrew Wright. [3] Tim Griffin [4] demostró unos años más tarde que el cálculo lambda de Felleisen con operaciones de continuación está en una correspondencia de Curry-Howard con la lógica clásica, una idea controvertida en ese momento. De manera similar, Barker y Shan conectaron continuaciones y especialmente las continuaciones delimitadas de Felleisen calculan los conceptos lingüísticos a través de gramáticas Montague. [5] La parte I de "Ingeniería semántica con PLT Redex" [6] se deriva de su disertación.

Los delimitadores de control, la base de las continuaciones delimitadas , fueron introducidos por Felleisen [7] en 1988. Desde entonces se han utilizado en muchos dominios, particularmente para definir nuevos operadores de control ; ver Queennec [8] para una encuesta.

Sabry y Felleisen introdujeron la forma normal A (ANF), una representación intermedia de programas en compiladores funcionales en 1992 [9] como una alternativa más simple al estilo de paso de continuación (CPS). Una implementación en el compilador CAML demostró su utilidad práctica y popularizó la idea [10]

Con Findler, Felleisen desarrolló la noción de contratos de orden superior. [11] Con tales contratos, los programadores pueden expresar afirmaciones sobre el comportamiento de funciones, objetos, clases y módulos de primera clase. El trabajo de Felleisen sobre tipificación gradual fue una continuación directa de su trabajo en estos contratos; vea abajo.

¡En apoyo de TeachScheme! proyecto, Felleisen y su equipo de Findler , Flatt y Krishnamurthi diseñaron e implementaron el lenguaje de programación Racket ., [12] Racket (nee PLT Scheme). La idea era crear un lenguaje de programación con el que fuera fácil construir rápidamente lenguajes pedagógicos para estudiantes novatos: un lenguaje de programación programable [13]. Flatt sigue siendo el arquitecto principal del esfuerzo de Racket hasta el día de hoy.

Este lenguaje de programación Racket ha jugado un papel clave en el reciente desarrollo de la mecanografía gradual . En 2006, Felleisen y su estudiante de doctorado Sam Tobin-Hochstadt iniciaron el proyecto Typed Racket con el objetivo de permitir a los desarrolladores migrar código desde un lenguaje de programación no tipificado a la misma sintaxis enriquecida con un sistema de tipos de sonido [14] [15] The Typed Racket El lenguaje fue el primero en implementar y respaldar completamente la idea de "escribir gradualmente" una base de código y permanece en desarrollo activo.

Felleisen pronunció los discursos de apertura en el Simposio técnico sobre educación en ciencias de la computación de 2011 , la Conferencia internacional sobre programación funcional de 2010 , [16] la Conferencia europea sobre programación orientada a objetos de 2004 y el Simposio sobre principios de lenguajes de programación de 2001 , y varias otras conferencias y talleres sobre Ciencias de la Computación.

En 2006, fue admitido como miembro de la Association for Computing Machinery . En 2009, recibió el Premio Karl V. Karlstrom al Educador Destacado de la ACM . [17] En 2010, recibió el Premio SIGCSE por su destacada contribución a la educación en informática de la ACM. En 2012, recibió el premio ACM SIGPLAN Programming Languages ​​Achievement Award por su "contribución significativa y duradera al campo de los lenguajes de programación" [18], incluida la semántica operativa de pequeños pasos para control y estado, clases mixin y módulos mixin, una semántica totalmente abstracta para PCF secuencial, técnicas de programación web, contratos con culpa de orden superior y escritura estática para lenguajes dinámicos. En 2018, Felleisen recibió el premio al software de lenguajes de programación de ACM SIGPLAN (junto con el resto del equipo central de Racket).

[19]

Libros

Felleisen es coautor de:

Referencias

  1. ^ "Investigación" . Consultado el 26 de junio de 2012 .
  2. ^ "Mundo Bootstrap" . Consultado el 31 de mayo de 2019 .
  3. ^ Wright, Andrés; Felleisen, Matthias (1994), "Un enfoque sintáctico para la solidez de los tipos", Información y Computación , 115 (1): 38–94, doi : 10.1006/inco.1994.1093
  4. ^ Griffin, Timoteo (1989). "Una noción de control de fórmulas como tipo". POPL '90: Actas del 17º simposio ACM SIGPLAN-SIGACT sobre principios de lenguajes de programación . Nueva York: Asociación de Maquinaria de Computación. págs. 47–58. doi :10.1145/96709.96714. ISBN 978-0-89791-343-0.
  5. ^ Ladrador, Chris; Shan, Chung-chien (2014). Continuaciones y Lenguaje Natural . Prensa de Oxford. doi :10.1093/acprof:oso/9780199575015.001.0001. ISBN 978-0-19-957501-5.
  6. ^ "Ingeniería Semántica" . Consultado el 16 de junio de 2019 .
  7. ^ Matías Felleisen (1988). "La teoría y práctica de las indicaciones de primera clase". Actas del 15º simposio ACM SIGPLAN-SIGACT sobre principios de lenguajes de programación - POPL '88 . págs. 180-190. doi :10.1145/73560.73576. ISBN 0-89791-252-7. S2CID  16705769. {{cite book}}: |journal=ignorado ( ayuda )
  8. ^ Queinnec, Christian (abril de 1994). "Una biblioteca de operadores de control de alto nivel". École Polytechnique e INRIA-Rocquencourt . 6 : 11–26. CiteSeerX 10.1.1.29.4790 . 
  9. ^ Sabry, Amr; Felleisen, Matías. "Razonamiento sobre programas en estilo de continuación-aprobación". Actas de la Conferencia ACM de 1992 sobre LISP y programación funcional, LFP'92 . San Francisco, California, Estados Unidos. Sabry92 . Consultado el 16 de noviembre de 2012 .
  10. ^ Flanagan, Cormac; Sabry, Amr; Duba, Bruce; Felleisen, Matías. "La esencia de compilar con continuación". Actas de la Conferencia ACM de 1993 sobre diseño e implementación de lenguajes de programación, PLDI'93 . Albuquerque, Nuevo México, Estados Unidos. Flanagan93 . Consultado el 11 de agosto de 2021 .
  11. ^ Findler, Robert; Felleisen, Matías. "Contratos de funciones de orden superior". Actas de la Conferencia Internacional ACM 2--2 sobre Programación Funcional, ICFP'02 . Pittsburgh, Pensilvania, Estados Unidos. Buscador01 . Consultado el 11 de agosto de 2021 .
  12. ^ Raqueta: Gente, consultado el 29 de octubre de 2020.
  13. ^ Tobin-Hochstadt, Sam; Findler, Robert; Flatt, Mateo; Krishnamurthi, Shriram; Barzilay, Eli; McCarthy, Jay; Tobin-Hochstadt, Sam. "Migración entre idiomas: de scripts a programas". Comunicaciones de la ACM . Portland, Oregón. Felleisen18 . Consultado el 7 de noviembre de 2020 .
  14. ^ Tobin-Hochstadt, Sam; Felleisen, Matías. "Migración entre idiomas: de scripts a programas". Actas del Simposio sobre sistemas de programación orientados a objetos, volumen complementario . Portland, Oregón. Tobin-Hochstadt06 . Consultado el 6 de noviembre de 2020 .
  15. ^ Tobin-Hochstadt, Sam; Felleisen, Matías. "El diseño e implementación de un esquema tipificado". Actas de los principios de los lenguajes de programación . San Diego, California. Tobin-Hochstadt08 . Consultado el 6 de noviembre de 2020 .
  16. ^ "Página de inicio de ICFP 2010" . Consultado el 18 de diciembre de 2012 .
  17. ^ "Mención del premio ACM". Archivado desde el original el 4 de mayo de 2012 . Consultado el 26 de junio de 2012 .
  18. ^ "Premio al logro en lenguajes de programación" . Consultado el 26 de junio de 2012 .
  19. ^ "Premio Software de Lenguajes de Programación". www.sigplan.org . Consultado el 12 de febrero de 2024 .

enlaces externos