Wed, 11 Jan 89 11:27:40 EST

Related articles |
---|

Availability of Turing Software mendell@turing.toronto.edu (Mark Mendell) (1989-01-11) |

From: | Mark Mendell <mendell@turing.toronto.edu> |

Organization: | University of Toronto, CSRI |

Date: | Wed, 11 Jan 89 11:27:40 EST |

Availability of Turing Language

Software and Documentation

January 1989

The Turing programming language includes all of Pascal's

features and more. Its extension, Turing Plus, includes

concurrency, exception handling, and systems programming

language features; it is an alternative to languages like C

and Modula. The December 1988 issue of the Communications

of the ACM features Turing and Turing Plus. These

languages, which were developed at the University of

Toronto, are in use in a number of universities and high

schools in the US and Canada.

FEATURES OF TURING AND TURING PLUS

Besides the features of Pascal, Turing includes convenient

strings and input/output, if statements with elsif clauses,

case statements with otherwise clauses, loop statements

with exits, modules with import and export, dynamic arrays

and parameters, assertions (assert, pre, post and invari-

ant), type transfer functions (such as string to real),

random number generation, exponentiation, and run-time con-

stants. Here is a complete Turing program that repeatedly

picks a random number from 1 to 6 until it picks a 6:

% Roll a die until you get 6. (This line is a comment)

var die : int

loop

randint (die, 1, 6)

exit when die = 6

put "This roll is ", die

end loop

put "Stopping with roll of 6"

The syntax is easy to learn, especially for the beginner

who might otherwise use Basic or Logo. Semicolons are not

required. Declarations can appear wherever statements can

appear.

The features that Turing Plus adds to Turing include

natural (unsigned) numbers, sized numbers (e.g., nat1 is a

one-byte natural number), bit manipulation, subprograms as

variables, characters and fixed length character strings,

explicit type cheats (e.g., > treats any value c as a

nat1), indirection (e.g., int@(16#8ab36) is a peek or poke

to hex location 8ab36), concurrency with dynamic forking

and monitors, interrupt handling procedures, completely

checked separate compilation, linkage to C and assembler,

exception handlers, binary and random access input/output,

assembly language inserts, and conditional compilation.

For example, here is a complete Turing Plus program that

runs two concurrent processes, one outputting Hi's and the

other Ho's.

% This program outputs Hi's and Ho's in an unknown order

process speak (word : string) % Template for concurrent processes

loop

put word

end loop

end speak

fork speak ("Hi") % Start concurrently outputting Hi Hi Hi

fork speak ("Ho") % Start concurrently outputting Ho Ho Ho

AVAILABLE TURING SOFTWARE

An IBM PC compatible Turing demo disk is available free of

charge to educators interested in teaching with Turing.

Here is a chart of available Turing software.

COMPUTER SOFTWARE ARRANGEMENT

SYSTEM [See notes]

IBM PC turing [1] Individual copy

compatible or

School licence

Sun/3 OS 3.x turing [1], All three on one tape

tplus [2], and

tpc [3]

Sun/3 OS 4.0 turing [1], All three on one tape

tplus [2], and

tpc [3]

Sun/4 OS 4.0 turing [1], All three on one tape

tplus [2], and

tpc [3]

Vax BSD 4.2 turing [1], All three on one tape

tplus [2], and

tpc [3]

Notes:

[1] "turing" is the Turing Student System (editor

integrated with high speed pseudo code compiler). The IBM

PC version for schools comes with documentation, electronic

lessons for Turing and technical support.

[2] "tplus" is the Turing Plus Student System (editor

integrated with high speed pseudo code compiler).

[3] "tpc" is the portable, self-compiling, production qual-

ity Turing Plus compiler. This compiler generates 680x0

assembler, VAX assembler or C. The distribution includes

the source for tpc (in Turing Plus), but not the source for

turing or tplus. The distribution includes the source of

MiniTunis, a highly simplified implementation of Unix in

Turing Plus. MiniTunis is the basis of University of

Toronto operating system course projects. "tpc" does not

yet run on a PC.

The PC software ("turing", the Student Turing System) is

available to individuals for $69; this is a floppy with a book.

The SUN and VAX software is currently available to schools,

but not to commercial establishments. A university or col-

lege instructor can apply for free trial usage of the Tur-

ing and Turing Plus software for a school term. Licenses are

on a yearly basis and the price depends on the configuration;

contact Chris Stephenson (see below) for details.

TURING SOFTWARE UNDER DEVELOPMENT

A Macintosh version of Turing [1], supported by Apple, is

currently in beta testing. A Unisys Icon version is in

testing. A symbolic debugger is being tested in the lab.

A high speed compiler for Turing Plus is under development.

There is a Numerical Turing compiler developed by Tom Hull,

running on SUN/3s, that supports dynamically selectable

precision of real numbers. J.R. Cordy and colleagues at

Queen's University, Kingston, Canada, are developing

TuringTool, a visual system for management of Turing and

Turing Plus programs. The Tunis implementation of secure

Unix is written in Turing Plus. The Polyx implementation

of multi-threaded Unix for shared memory multiprocessors is

being written in Turing Plus.

BOOKS AND REPORTS ON TURING

Introduction to Computer Science using the Turing Program-

ming Language. R.C. Holt and J.N.P. Hume. 1984, 404 pages

(includes the Turing Report). This is an introductory

textbook used in universities. Available from Prentice-

Hall publishers (formerly Reston publishers).

The Turing Programming Language: Design and Definition.

R.C. Holt, P.A. Matthews, J.A. Rosselet, J.R. Cordy.

1988, 325 pages. This book explains the design goals of

the language. The language's formal definition is given.

Available from Prentice-Hall publishers.

Turing Tutorial Guide. J.N.P. Hume. 1988, 213 pages.

This is an introductory text used in high schools and col-

leges. It is available to schools using the Turing Student

System. Available from Holt Software Associates (contact

Chris Stephenson, see below).

Concurrent Programming using Turing Plus Language. R.C.

Holt and D. Penny. These course notes introduce concurrent

programming concepts and Turing Plus. When used with the

"tplus" software, this provides an easy to learn introduc-

tion to concurrent programming. 1988, 108 Pages.

Available by special arrangement; contact Chris Stephenson,

see below.

The Concurrent Programming of Operating Systems Using the

Turing Plus Language. R.C. Holt and D. Penny. This is a

draft of a book that includes "Concurrent Programming Using

Turing Plus" as well the description and source of Mini-

Tunis, a highly simplified version of Unix written in Tur-

ing Plus that runs under Unix. MiniTunis is the basis of

student projects in the operating systems course at the

University of Toronto. 1988, 400 pages. Available by

special arrangement; contact Chris Stephenson, see below.

The Turing Report and the Turing Plus Report. These techn-

ical reports define the Turing and Turing Plus languages.

Free to researchers. Contact Chris Stephenson, see below.

The Turing Newsletter. This is a quarterly publication for

educators. It contains ideas, examples, news and views on

Turing of interest to the teacher. Chris Stephenson (see

below) is editor. Distributed free to selected parties.

MORE INFORMATION

For distribution info: Ms. Chris Stephenson (distrib@turing.toronto.edu)

(416) 978-6985

Holt Software Associates Inc.

203 College Street, Suite 305

Toronto, Canada M5T 1P9

For technical info: Mr. Mark Mendell (mendell@turing.toronto.edu)

Computer Systems Research Institute

Sandford Fleming Bldg, Rm 4101

University of Toronto

Toronto, Canada M5S 1A4

For research info: Prof. Ric Holt (holt@turing.toronto.edu)

Computer Systems Research Institute

Sandford Fleming Bldg, Rm 2001

University of Toronto

Toronto, Canada M5S 1A

--

Mark Mendell

Computer Systems Research Institute University of Toronto

Usenet: {linus, ihnp4, allegra, decvax, floyd}!utcsri!mendell

Internet: mendell@turing.toronto.edu

mendell@turing.utoronto.ca

--

Post a followup to this message

Return to the
comp.compilers page.

Search the
comp.compilers archives again.