SAIL (programming language): Difference between revisions

Content deleted Content added
Line 4:
 
==History==
The [[GOGOL (programming language)|GOGOL compiler]] was originally written by Bill McKeeman on the [[PDP-1]]. It was essentially an [[integer]]-only version of [[ALGOL-60]] with a number of additions to provide direct access to the memory and other hardware to allow it to be used as a [[systems programming language]]. It reduced arrays to a single dimension, removed any ability to perform dynamic memory allocations, but did add some additional string functionality. A greatly updated version by John Sauter, GOGOL II, was written as part of a port of the underlying [[operating system]] from ODIN to THOR. When the [[Stanford AI Lab]] received their [[PDP-6]], Sauter, Pettit and (mostly) Dan Swinehart wrote GOGOL III for the new machine.{{sfn|Slimick|1971|p=22}}
 
Swinehart, joined by Robert Sproull, merged the GOGOL syntax with additions from the contemporary versions of the [[LEAP (programming language)|LEAP language]] language to produce the first version of SAIL in November 1969. The main feature of LEAP as a language was its use of associative storage, more commonly known today as a Map or Dictionary. In LEAP, one could set the value of a field in a type using a triple, with the first entry being the variable name, the second being the field name, and the third the value.{{sfn|Reiser|1976|p=iii}}
 
Further improvements were added by Russell Taylor, Jim Low and Hana Samet, who added processes, procedure variables, interrupts, context, matching procedures, a new macro system, and other features. Development then passed to Taylor, John Reiser and Robert Smith, who added a debugger, a system-level print statement, records, and performed the conversion from Standord's own SUAI to [[TENEX]]. It was later ported to DEC's [[TOPS-10]] as well, while the original TENEX version worked without modification under [[TOPS-20]].{{sfn|Reiser|1976|p=iii}}
 
==Uses==