Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!linus!decvax!harpo!seismo!hao!hplabs!sri-unix!Slade@YALE.ARPA
From: Slade@YALE.ARPA@sri-unix.UUCP
Newsgroups: net.ai
Subject: Portable and More Efficient Lisps
Message-ID: <3459@sri-arpa.UUCP>
Date: Sat, 23-Jul-83 15:58:24 EDT
Article-I.D.: sri-arpa.3459
Posted: Sat Jul 23 15:58:24 1983
Date-Received: Thu, 28-Jul-83 14:38:35 EDT
Lines: 46

From:  Stephen Slade 

Chip Maguire took violent exception to the claim that T, a version of 
Scheme implemented at Yale, is "more efficient and portable" compared
to other Lisp implementations.  He then listed the numerous machines
on which PSL, developed at Utah, now runs.

The problem in this case is one of operator precedence:  "more" has
higher precedence than "and".  Thus, T is both portable AND more
efficient.  These two features are intertwined in the language design
and implementation through the use of lexical scoping and an
optimizing compiler which performs numerous source-to-source
optimizations.  Many of the compiler operations that depend on the
specific target machine are table driven.  For example, the register
allocation scheme clearly depends on the number and type of registers
available.  The actual code generator is certainly machine dependent,
but does not comprise a large portion of the compiler.  The compiler
is written largely in T, simplifying the task of porting the compiler
itself.

For PSL, portability was a major implementation goal.  For T,
portability became a byproduct of the language and compiler design.  A
central goal of T has been to provide a clean, elegant, and efficient
LISP.  The T implementers strove to achieve compatibility not only
among different machines, but also between the interpreted and
compiled code -- often a source of problems in other Lisps.  So far, T
has been implemented for the M68000 (Apollo/Domain), VAX/UNIX, and
VAX/VMS.  There are plans for other machine implementations, as well
as enhancements of the elegance and efficiency of the language itself.

People at Yale have been using T for the past several years now.  
Applications have included an extensible text editor with inductive 
inference capability (editing by example), a hierarchical digital
circuit graphics editor and simulator, and numerous large AI programs.
T is also being used in a great many undergraduate courses both at
Yale and elsewhere.

I believe that PSL and Standard LISP have been very worthwhile
endeavors and have bestowed the salutary light of LISP on many
machines that had theretofore languished in the lispless darkness of
algebraic languages.  T, though virtuous in design and virtual in
implementation, does not address the FORTRAN-heathen, but rather seeks
to uplift the converted and provide comfort to those true-believers
who know, in their heart of hearts, that LISP can embrace both
elegance and efficiency.  Should this credo also facilitate
portability, well, praise the Lord.