El lenguaje de programación T es un dialecto del lenguaje Scheme desarrollado a principios de la década de 1980 por Jonathan A. Rees, Kent M. Pitman y Norman I. Adams de la Universidad de Yale como un experimento de diseño e implementación del lenguaje. [1]
Paradigma | Multi-paradigma : orientado a objetos , imperativo , funcional , meta |
---|---|
Familia | Ceceo |
Diseñada por | Jonathan A. Rees Norman I. Adams |
Desarrolladores | Jonathan A. Rees Norman I. Adams |
Apareció por primera vez | 1982 |
Lanzamiento final | 3.0 / 1 de agosto de 1984 |
Disciplina de mecanografía | dinámico , fuerte |
Plataforma | Multiplataforma |
SO | Multiplataforma |
Sitio web | murmurar |
Influenciado por | |
Esquema | |
Influenciado | |
EuLisp , Joule |
Razón fundamental
El propósito de T es probar la tesis desarrollada por Guy L. Steele Jr. y Gerald Jay Sussman en su serie de artículos sobre Scheme: que Scheme puede usarse como base para un lenguaje de programación práctico de excepcional poder expresivo, y que las implementaciones de Scheme podría funcionar mejor que otros sistemas Lisp, y de manera competitiva con implementaciones de lenguajes de programación, como C y BLISS , que generalmente se consideran inherentemente más eficientes que Lisp en arquitecturas de máquinas convencionales. Mucho de esto ocurre a través de un compilador de optimización llamado Orbit.
T contiene algunas características de las que carece el esquema moderno. Por ejemplo, T está orientado a objetos y tiene entornos de primera clase, llamados locales , que pueden modificarse de forma no local y usarse como un sistema de módulos. T tiene varias formas especiales adicionales para la evaluación perezosa y control de flujo , y un equivalente a Common Lisp 's setf . T, como Scheme, admite llamada con continuación actual (llamada / cc), pero también tiene una forma más limitada llamada catch
. Del manual T, una implementación hipotética de cons
podría ser:
( definir- par de predicado ? ) ( definir-operación-configurable ( par de carros )) ( definir-operación-configurable ( par de cdr )) ( definir ( contras el-auto -el-cdr ) ( objeto nulo (( par? auto ) t ) (( auto auto ) el-auto ) (( cdr auto ) el-cdr ) ((( auto setter ) auto auto nuevo ) ( establecer el auto auto nuevo )) ((( setter cdr ) auto nuevo-cdr ) ( establecer el-cdr nuevo-cdr ))))
Este ejemplo muestra que los objetos en T están íntimamente relacionados con los cierres y el paso de mensajes. Un primitivo llamado join
une dos objetos, lo que permite algo parecido a la herencia .
Puertos
T se transfirió a muchas plataformas de hardware y sistemas operativos , que incluyen: [2]
Ver también
Referencias
- ^ Slade, Stephen (1987). El lenguaje de programación T: un dialecto de LISP . Englewood Cliffs, Nueva Jersey: Prentice-Hall. ISBN 978-0-13-881905-7. OCLC 16094677 .
- ^ Campbell, Taylor 'Riastradh' (7 de abril de 2006). "Proyecto T Revival" . Mumble.net . Wayback Machine de Internet Archive. Archivado desde el original el 3 de enero de 2007 . Consultado el 18 de noviembre de 2018 .
enlaces externos
- Página web oficial
- Historia de T , por Olin Shivers
- T manual (PDF) de ReadScheme, a través de Internet Archive