SAIL programming language
Encyclopedia
SAIL, the Stanford Artificial Intelligence Language, was developed by Dan Swinehart and Bob Sproull
of the Stanford AI Lab in 1970. It was originally a large ALGOL 60
-like language for the PDP-10
and DECSYSTEM-20
.
SAIL's main feature is a symbolic data system based upon an associative store (based on the LEAP system
of Jerry Feldman and Paul Rovner). Items may be stored as unordered sets or as associations (triples). Other features include processes, events and interrupts, contexts, backtracking and record garbage collection. It also has block-structured macros, a coroutining facility and some new data types intended for building search trees and association lists.
A number of interesting software systems were coded in SAIL, including some early versions of FTP
and TeX
, a document formatting system called PUB, and the first general purpose, interactive spreadsheet program called BRIGHT.
In 1978, there were half a dozen different operating systems for the PDP-10: ITS
(MIT), WAITS
(Stanford), TOPS-10
(DEC), CMU TOPS-10 (Carnegie Mellon), TENEX (BBN), and TOPS-20
(DEC, based on TENEX).
SAIL was ported from WAITS to ITS so that MIT researchers could make use of software developed at Stanford University
. Every port usually required the rewriting of I/O code in each application.
A machine-independent version of SAIL called MAINSAIL was developed in the late 1970s and was used to develop many eCAD design tools during the 1980s. MAINSAIL was easily portable to new processors and operating systems, and is still in limited use .
Bob Sproull
Dr Robert F. Sproull is an American computer scientist, who works for Oracle Corporation where he is director of Oracle Labs in Burlington, Massachusetts .- Biography :...
of the Stanford AI Lab in 1970. It was originally a large ALGOL 60
ALGOL 60
ALGOL 60 is a member of the ALGOL family of computer programming languages. It gave rise to many other programming languages, including BCPL, B, Pascal, Simula, C, and many others. ALGOL 58 introduced code blocks and the begin and end pairs for delimiting them...
-like language for the PDP-10
PDP-10
The PDP-10 was a mainframe computer family manufactured by Digital Equipment Corporation from the late 1960s on; the name stands for "Programmed Data Processor model 10". The first model was delivered in 1966...
and DECSYSTEM-20
DECSYSTEM-20
The DECSYSTEM-20 was a 36-bit Digital Equipment Corporation PDP-10 mainframe computer running the TOPS-20 operating system.PDP-10 computers running the TOPS-10 operating system were labeled DECsystem-10 as a way of differentiating them from the PDP-11...
.
SAIL's main feature is a symbolic data system based upon an associative store (based on the LEAP system
LEAP programming language
LEAP is an extension to the ALGOL 60 programming language which provides an associative memory of triples. It was created by Jerome Feldman and Paul Rovner in 1967. LEAP was also implemented in SAIL....
of Jerry Feldman and Paul Rovner). Items may be stored as unordered sets or as associations (triples). Other features include processes, events and interrupts, contexts, backtracking and record garbage collection. It also has block-structured macros, a coroutining facility and some new data types intended for building search trees and association lists.
A number of interesting software systems were coded in SAIL, including some early versions of FTP
File Transfer Protocol
File Transfer Protocol is a standard network protocol used to transfer files from one host to another host over a TCP-based network, such as the Internet. FTP is built on a client-server architecture and utilizes separate control and data connections between the client and server...
and TeX
TeX
TeX is a typesetting system designed and mostly written by Donald Knuth and released in 1978. Within the typesetting system, its name is formatted as ....
, a document formatting system called PUB, and the first general purpose, interactive spreadsheet program called BRIGHT.
In 1978, there were half a dozen different operating systems for the PDP-10: ITS
Incompatible Timesharing System
ITS, the Incompatible Timesharing System , was an early, revolutionary, and influential time-sharing operating system from MIT; it was developed principally by the Artificial Intelligence Laboratory at MIT, with some help from Project MAC.In addition to being technically influential ITS, the...
(MIT), WAITS
WAITS
WAITS was a heavily-modified variant of Digital Equipment Corporation's Monitor operating system for the PDP-6 and PDP-10 mainframe computers, used at the Stanford Artificial Intelligence Laboratory up until 1990; the mainframe computer it ran on also went by the name of "SAIL".There was never an...
(Stanford), TOPS-10
TOPS-10
The TOPS-10 System was a computer operating system from Digital Equipment Corporation for the PDP-10 mainframe computer launched in 1967...
(DEC), CMU TOPS-10 (Carnegie Mellon), TENEX (BBN), and TOPS-20
TOPS-20
The TOPS-20 operating system by Digital Equipment Corporation was the second proprietary OS for the PDP-10 mainframe computer. TOPS-20 began in 1969 as the TENEX operating system of Bolt, Beranek and Newman...
(DEC, based on TENEX).
SAIL was ported from WAITS to ITS so that MIT researchers could make use of software developed at Stanford University
Stanford University
The Leland Stanford Junior University, commonly referred to as Stanford University or Stanford, is a private research university on an campus located near Palo Alto, California. It is situated in the northwestern Santa Clara Valley on the San Francisco Peninsula, approximately northwest of San...
. Every port usually required the rewriting of I/O code in each application.
A machine-independent version of SAIL called MAINSAIL was developed in the late 1970s and was used to develop many eCAD design tools during the 1980s. MAINSAIL was easily portable to new processors and operating systems, and is still in limited use .