ABSTRACT

The Turing programming language [Holt 83, Holt 88a, Holt 88b) is a general-purpose programming language designed at the University of Toronto. Designed to be a successor to Pascal, Turing resolves many of the perceived difficulties with Pascal such as the lack of string handling facilities, type-safe variant records, modularity, concurrency, and type-safe separate compilation. Turing is intended to combine the conciseness and simplicity of Basic at the lowest level with the power to implement real production software at the highest. The goal was to design a language that can serve the entire range of programming tasks, all the way from a teaching language for children to production software tasks such as compilers, operating systems, and complex user interfaces. To the extent that it has met these goals, there is much to be learned from the design of Turing about how other languages can be designed to be simple, concise, and expressive while at the same time providing great power and complexity.