T's purpose is to test the thesis developed by Guy L. Steele Jr. and Gerald Jay Sussman in their series of papers about Scheme: that Scheme may be used as the basis for a practical programming language of exceptional expressive power, and that implementations of Scheme could perform better than other Lisp systems, and competitively with implementations of programming languages, such as C and BLISS, which are usually considered to be inherently more efficient than Lisp on conventional machine architectures. Much of this occurs via an optimizing compiler named Orbit.
T contains some features that modern Scheme lacks. For example, T is object-oriented, and it has first-class environments, called locales, which can be modified non-locally and used as a module system. T has several extra special forms for lazy evaluation and flow control, and an equivalent to Common Lisp's setf. T, like Scheme, supports call-with-current-continuation (call/cc), but it also has a more limited form called catch. From the T manual, a hypothetical implementation of cons could be:
This example shows that objects in T are intimately related to closures and message-passing. A primitive called join puts two objects together, allowing for something resembling inheritance.
T was ported to many hardware platforms and operating systems, including:2
Slade, Stephen (1987). The T programming language: a dialect of LISP. Englewood Cliffs, New Jersey: Prentice-Hall. ISBN 978-0-13-881905-7. OCLC 16094677. 978-0-13-881905-7 ↩
Campbell, Taylor `Riastradh' (7 April 2006). "T Revival Project". Mumble.net. Internet Archive Wayback Machine. Archived from the original on 2007-01-03. Retrieved 2018-11-18. http://mumble.net/~campbell/t/t.html ↩