You are on page 1of 22
THE BEGINNER'S MANUAL FOR TRAC* LANGUAGE Calvin N. Mooers A self-instruction manual which will permit you to learn how to use the TRAC’ T-64 language. A previous knowledge of mathematics or computers is not necessary. RR-283 First Edition 1972 ROCKFORD RESEARCH, INC. 140% Mount Auburn Street Cambridge, Massachusetts 02138 44 Copyright (G) 1972 by Rockford Research, Inc. Printed in the United States of Americar published simultaneously in the United States and Canada, All rights reserved. First edition, Without permission in writing from Rockford Research, Inte, this Manual, or any part of it, may not be reproduced in any for by any means, including xerceraphy, photocopying, oF conputer entry, display, or print-out, nor may any cory, adaptation, extract, duplicated class notes, translation, or any other version be nade fro it, including the making of any derived writing which is 8 computer program for processing TRAC language ot any variant thereof. Students who, for educational and nonconmercial purposes, desire,to nake any kind of derived writing from this Manual, such as a computer program for processing any part of TRAC langage, OF tern papers or other writings, are informed that permission to do so is obtainable under suitable restrictions from Rockford Research, Inc. Within the above limitations, conventional educational or commercial uses of this Manual are permissible, where such uses inelude, for example, teaching TRAC language from it, using it as an instructional aid for writing or learning to write original TRAC language "scripts", where scripts aro TRAC language expreesions like #(I6,PRINT,(#(PS,CAT)))" , and using scripts from it in connection with a TRAC language processor. ‘This Manual teaches TRAC T-64 language, which was first decribed in the paper by Calvin N. Mooers, “TRAC, A Procedure- Describing Language for the Reactive Typewriter’ jeeps of the ACM, v. 9, me 3, pp. 215-219, March 1966, copyright 1966 by Rockford Research, Inc. Appendix A, which ia published in the set with this Manual as RR-204, is the current Definition and Standard for TRAC 7-64 Language (TRAC Standard Noy 1 October 1972}. ‘The word “FRAC is a registered service mark of Rockford Research, Inc., and the designations "7-64" and “TRAC™ are trademarke of Rockford Research, inc. aa ‘TABLE OF CONTENTS To the Student of this Book * FOREWORD Chapter t. Chapter 2. Chapter 3. Chapter 4. About this Manual... About standardization of TRAC language ... Academic experimentation ... TRAC T~5t ‘language and TRAC processors. WHAT TRAC LANGUAGE IS = AND WHAT IT IS GOOD FOR i ‘TRAC language and the reactive typewriter ... What TRAC language can do s+, What TRAC language 1s like ... Why we should ignore the computer ,., For the expert: what ‘TRAC language is. HOW TO MAKE TRAC LANGUAGE GO Use expert help to get started ... When TRAC language is at the keyboard ... Cotting fancy ... Minor typing exrers sss How to make it stop ..+ The pamic stop .., Practice and take notos ,,, Some terminology and concept «++ Characters, strings and text ... The meta character ss. Scripts, precessors and computer prograns. AND HOW TO MAKE IT STOP il A QUICK OVERVIEW OF TRAC LANGUAGE qT ‘The purpose of this chapter .., First ercup: noving text An and out ... Second group: storing text and modifying it se. Third groupr recalling stored text ... Fourth group: simple arithmetic .., Fifth group: control decisions .., Sixth group: Boolean combinations +++ Seventh groupr auxiliary storage ... Eighth group: diagnostic and housekeeping primitives ... The 3 TRAC language printtives and their mnemonics (table). HOW TO STORE, RECALL AND DELETE STRINGS (DS, CL, DD) Iv A handful of TRAC primitives do most of the work . define string primitive (D5} ... How to recall strings (GL) we» Deletion of foras (DD) ... Exercises to try at your reactive typewriter or with paper and pencil. Chapter 5. Chapter 6, Chapter 7. Chapter 8. Chapter 9. Chapter 10, iy CONTROLLING INPUT AND OUTPUT (FS, RS); NESTED PRIMITIVES AND PROTECTIVE PARENTHESES v ‘The print string primitive (PS) ... The read string primitive (RS) ,,. Nested primitives ... Protective parentheses Experiments at the reactive typewriter. ‘THE GRAMMAR OF TRAC LANGUAGE == PARSING VI (Grannar and parsing ... The idealized processor ... The rule for scanning text characters ... The rules for protective parentheses .,, Exercises (3 sets) ... The rules for sharp signe .., The Tule for the coma ... The rule for format chatacters ... Exercises ... Execution of primitives ... Summary of the scanning rules w+. Exercises. BXECUTION AND EVALUATION OF PRIMITIVES AND THE IDLING PROGRAM vir ‘The scope of execution ... Single and double sharp signs ae. The workspace mrkers ... The idling program... Excess and missing parentheses. DEFAULT CASES FOR ARGUMENTS AND EXPRESSIONS VzIT Finding the argurent strings ... Inserted null value expressions ... Watch cut for double sharp signs ... Extra arguments and missing ergunents of prinitiv ‘The default call ... Exercises, SIMPLE INTERACTIVE SCRIPTS AND METHODS FOR ERROR CORRETION Scripts and errors ... Single-character error correction was Error correction by restarting input ... Exanples of simple interactive scripts ... Another interactive script ave A soript te control input errore .,. Fixing mistakes: the "FIXER" script ... The reactive typewriter mikes a decision ... To do it again and againt “recursion” Controlling @ loop ... Exercises to try at your reactive typewriter, ‘THE WONDERFUL SCRIPT CALLED "EASY" x Interface scripts ... The script EASY .., EASY with default calls ... Stopping EASY ... Sone remarks «++ ‘Exercises! things to think about, Chapter 11, Chapter 12. Chapter 13. Chapter th, Chapter 15. Chapter 164 PROCEDURES WITH PARAMETERS ~~ SEGMENT STRING (SS) xt ‘The segnent string primitive (SS) ... Why they are called “forms” ... Making pernanent changes in text ... How FIXER works ... Procedures with formal variables ... Yaking changes in procedures ... The procedure "FIX" 44, Exercises, INPUT AND OUTPUT (CM, RC) xar Deploring large computer technology ... The meta character ++. Changing the meta character (CM) .., Single-character read in (RC) .., Corrections at the time of input ... Games for infants +. Exercises: examples and things to think about. STRING EQUALITY AND BRANCHING OF CONTROL (5Q) XII Making decisions isn't thinking ... The string equality prinitive (BQ) ... Examples of use of £2 ... Exercises: examples and things to think about. PARTIAL CALLS TO FORMS (CC, CR, CL, CS, CN, IN} xv ‘The call character primitive (CC) ... Controlling a loop with the default argument ... Default argunent string is always rescanned .,. Restoring the form pointer (CR) +++ ‘The ordinary call (CL) and the form pointer character strings disappear . (CS) ... The call N primitive (CN) ... The “initial” primitive (IN) ,,. Loop contre] with "IN" comments about the form pointer and the partial calls Exercises: examples and things to think about. NUMBERS aT LAST! ARITHMETIC AND THE TEST FUR MAGNITUNE (AB, SU, Mis DV, GR) xy Why TRAC arithmetic looks the way it does ... Mixed string arguments ..» Integer arithmetic ... Argurents of the arithnotic prinitives ... The four arithmetic primitives (AD, SU, ML, DV) s+4 Compound arithnatic expressions +. Test for numerical magnitude (GR) ... Scripta with nunbers Computing the factorial .., Bxercis FORMS IN STORAGE -- WHAT TO DO ABOUT THEM (DD, DA, LN) XVI Deleting forms in storage (DD,DA) ... Getting the names of the forms (LN) .., Mimieking the DA primitive .., Is a specified form in storage? .., Another tenting procedure Bxerci Chapter 17, Chapter 18, Chapter 19, Chapter 20, INDEX vi AUXILIARY STGRAGE OF FORMS (SB, FB, EB) XVII Why auxiliary storage is needed The store block primitive (SB) ... The fetch block primitive (FB) erase block primitive (SB) ... Updating with the SB primitive .., Default actions and error diagnostics vss ‘The need for storage managenent ... The problem of diverse computer operating systems Concerning block forms and blocks «++ Use of the update action ... The elegant “save all my work" technique .,. WARNING! ... Use of a nane list for forms in a block s+. Procedures “S" and "E" for prevention ef loss ef blocks ... Explanation of procedure s » Explanation of procedure 2 » Which storage method should be used? ... Exercises for the advanced student. The ‘THE THREE DIAGNOSTIC PRIMITIVES (FF, TN, TF) XVIII Why the diagnostic primitives are needed ... The print form primitive (PF) ‘The tve trace primitives (TN, TF) sas Une of the read string prinitive when in tra Using the trace facility. ‘TRE BOOLEAN PRIMITIVES (BU, BI, BC, BS, 3R) xx What they are .., Strings of octal charactors «1+ The Boolean union: logical "GR" (BU) The Boolean inter~ section: logical "AND" (BI} .., The Boolean complement: logical "NOT" (BC) ... The Boolean shift and rotate Primitives (BS, BR) Exercises. ‘THE TWO HOUSEKEEPING PRIMITIVES (HL, MO} mh What they are ,,. The halt primitive (HL) ... Th importance of stopping the processor ... Saving the current processor with a small computer ... How to save the current processor with a large computer ... The nade primitive (MG) .., The mode primitive is important to standardisation .,, Epilog to the reader. INDEX Rules for scanning transformations and execution (table ves The 34 TRAC language primitives and their argument types (table) .., Index of defined terms Appendix Aw Appendix B. Appendix C. Appendix Dy Appendix E, wid In the set with this volum DEFINITION AND STANDARD FOR TRAC T-64 LANGUAGE: (TRAC STANDARD NO. 1, OCTOBER 1972) &R-284 ‘Introduction execution . prinitives: Text and processor ... Scanning and Cther matters ... Definitions of the Limitations of this Standard. Separately tssueds PROBLEMS CAUSED BY VARIATIONS AMONG COMPUTING MACHINES Computers compared to the Stanley Steaner ... Rituals for making a connection ... The Teletype keyboard +. The operating system ., Other amusing and informative ‘connents. INTERFACE AND INPUT-OUTPUT CONTROL The reactive typewriter Log on ss. Halt (HL) ... Log off .., Restart ... Panic stop «.. Use of the enter character ... Correction characters (single-character and restart-input) ... Feculiar actions of the computer operating system for certain characters .., Other useful techniques peculiar to the installation. AUXILIARY STORAGE AND USE OF OPERATING SYSTEMS TO SAVE WORK Saving the processor after halt (HL) Retrieval and restarting the processor ... Hardware addresses 1+. Peculiarities of use of auxiliary storage ».«, Saving auxiliary storage blocks between sessions .., Use of the operating system's catalog listing of saved matter s+. Other useful techniques peculiar to the installation, FURTHER USE OF MODS (MO) Processor extensions available .., Their control. Appendices B through 5 contain information useful for dealing with different models of computing machines, Hecause of the substantial difference in behavior of the different machines, a set of appandices ic prepared for each specific kind of machine, These are available fron Rockford Aesearch, Ine. ix ‘string" 70 THE STUDENT OF THIS BOOK This took is designed for self study. When you see a Word or expression in the text set off by single quotation narks, such as ‘string', it 1s a term having a new meaning in connection with TRAC language. The definition or explanation of such a terns 1s always provided in the neatby text. Such now terns are also displayed at the upper margin of the page on which they are introduc Faking then easy te find when you leaf tack for review, All terms and special concepts are listed in the Index. Turn now te the Index and familiarise yourself with ite layout, Note the spacial tables. If you find some part of a chapter or sone set of TRAC symbols of expressions too difficult to understand at the firat reading, don't get mired and stop, Skip 1t and go on with your teading. later, you can cone tack to it, and then you may find it easter to understand. Some of the TRAC language ‘scripts’ are in fact rather difficult, and they my be hard for you to understand at first, However, you can go ahead and make use of then anyway, even though though you do not understand then entirely. Pel “reactive typewritert FORRWORD ABOUT THIS MANUAL ‘TRAS languare 1s something new == 1t 1s a new system for controlling the action of an automatic typewriter connected to a computer, Such a combination of typewriter and computer I call a ‘reactive typewriter" Yecause 1t reacts to commands typed in at the typewriter keyboard. T have written BMGINNER'S MANUAL FOR TRAG LANGUAGE for the person who wants to know what TRAC language 4s, and how to use it at the reactive typewriter, The Manual is written so that is can be used for self inatruction, without a teacher. No spacial Knowledge 4s presuned -- either about computere or mathematics. ‘The most desirable way to learn TRAC language from this Manual is to study 1t with a reactive typewriter near at hand, so that the illustrative examples can be tried out at the keyboard as they occur. Students who do not have easy access to a reactive typewriter can also successfully use this Yanual, Of course, such students will have to study the illustrative examples @ little more carefully, and will have to think a little more vividly in order to compensate for the lack of a reactive typewriter. ‘The few typewriter exercises that require a reactive typewriter are spectfically rarked. By the time you have studied to the end of this Manual, you will have acquired a complete working knowledge of TRAC language and all ite parts. Copyright ©) 1972 Rockford Research, Inc, All rights reserved. ‘processor’ ‘seripts' Pea "portable" You will also have mastered a nunber of skills for performing useful tasks with it. ABOUT STANDARDIZATION OF TRAC LANGUAGE TRAC language is a carefully standardized language, without dialects or local variants. RAG longuare capability 4s nade available ina computer by means of a standardized computer program called a TRAC ‘processor, supplied by Reckford Research, Inc. The TRAC processor causes the computer and ita connected reactive typewriter to carry aut the actions of TRAC language. Onee a standard TRAC language processor has been set up ina computer, you can use the keyboard of the reactive typewriter to make the conputer do things for you, You do this by writing sequences of commands at the keyboard, in what are called TRAC language ‘scripts’. A lmowledze of how to make a computer operate with TRAC language learned at one reactive typewriter can be used almost without change with any other reactive typewriter and computer that has a standard TRAC processor, TRAC language soripts can therefore be circulated and used by people at different locations and with afferent computers, Because TRAC language scripts can be easily exchanged, they are said to be 'portable'. In comparison, most ordinary computer programs are not portable because of serious shortcomings in the standardization of their progranning languages and of their computers, Careful standardization of a language and 1ts processors in this fashion dees not just "happen". In order to carry out standardization, and to protect users sgainet confusing and uncontrolled dialects, I have instituted a program for the central centro] of TRAC language and for marketing staniardized TRAC processors, This plan is carried out through Fe3 ny company, Rockford Research, inc., where I created TRAC language. The plan has three main parts. 1, Maintenance. The task of maintenance and supervision of TRAC language is carried cut through Rockford Research, Inc. This task of maintenance includes perfecting the standards, publishing authentic documentation, and marketing standard TRAC processors. 2, Identificas the general public can identify euthentic TRAC language computer facilities, processors, documentation, and standards, Jn order to protect the mark "TRAC" from misuse, TRAC has been registered tr U, Se Patent Office as a service mark cf Rockford Research, Inc,, to be used only on authentic standardized products coning fren Rockford Research, Inc. As a consequence, this service mark or tradenark may not legally be used by anyone else for services or profucts which do not cone from Rockford Research. 3. Contrel, Asa means of control of standard TRAC language, Rockford Research, Ine. 18 exercising additional rights, including copyright, in all its standards, documentation, manuals, and computer programs for processors for TRAC language. Copyright specifically precludes unauthorised writing or production of other processors which are derived fron our copyrighted doourertation, Through this policy of copyright control, Rockford Research intends to suppress unreliable docurentation and nonstandard processors. ACADEMIC EXPERIMENTATION TRAC language has had a great fascination for students cf conputer ‘The designation "TRAC" provides the neans ty which Pea selence, Such students often express a desire to experinent with and develop computer programs for catrying out various parts of TRAC language. Student experinentation of this kind may have considerable educationsl value, Howaver, such experimentation, even though conducted in private, entails the translation and rewriting of Rockford Research's copyrighted @ocuaents. For copyright reasons, prior parnission is therefore required from Rockford Research for making any such versions derived fron these documents, Upon application to Rockford Research, Inc,, and for a enall fee, permission for student experimentation will usually be granted when the use 4s noncommercial and solely for the educational experience of the student. If a nore extensive academic activity involving TRAC language 1s contemplated, such as classroom teaching of the language, or use of TRAC language for processing data or text, » standardized TRAC processor should ‘be procured from Reckford Research, Inc, ‘TRAC T=6le LANGUAGE AND TRAC PROCESSORS In the future, TRAC language and standard TRAC processors will be provided with various extensions in order to give then greater power or to provide facilities fer controlling other machines besiden the reactive typewriter, Accordingly, there 1s a need for a concise and accurate deaignation for the standard TRAC Ianguage which is taught in this Manual. This standard language is designated as "TRAC T-64 language"*, The language is exactly described and defined in “Definition and Standard for TRAC T~6l Language", which constitutes Appendix A ef this "anual. This Definition and Standard ts also known as "TRAC Standard No, 1". The * "Ta6is" is a trademark of Rockford Research, Inc. Fe5 Teader should refer to this Definition and Standard in order to resolve any problems in the fine details of the language. Any other standard versions of TRAC language or processors which may ‘be marketed by Rockford Research, Inc. will make use of the standard TRAC ‘T-6h language as their point of departure. ach such version will bear its own suitable designation to distinguish it fron the T-64 language. The reason for the numeral "64" in the designation 7-64 is that the foundation TRAC language was first set down on paper in 1964, A computer progran of @ processor for it was written by my colleague L, Feter Deutsch in December of that year. The language was described in a paper which I published in the journal Communications of the ACM for March 1966, This early paper has now been superseded in its role of language definition ty the “Definition and Standard for TRAC Ta6i Language (TRAC Standard No. 1)". Finally, I shall welcome any connents oY suggestions which I can use to improve future editions of this Manual. Calvin N, Mooers President Rockford Research, Inc. Camuridge, Massachusetts October 1972 l-2 ‘reactive typewrite: *eonnand* CHAPTER 1 WHAT TRAC LANGUAGE IS -- AND WHAT IT IS GOOD FOR TRAC LANGUAGE AND THE REACTIVE TYPRWRITER TRAC language 1s a language for communicating with a computer and for telling the computer how to make an automatic typewriter do things for uss We work at the Keyboard of the automatic typewriter. The computer itsel? 4s out of eight, As the work goes forward, all we see is the automatic typewriter, ite Rayboard, and the printing on the paper or the letters on a TV screen display. An automatic typewriter of this kind ie called a ‘reactive typewriter’ because it appears to react or respond to instructions which we type on its keyboard, Its manner of reacting 1s to respond ty printing out words or numbers, The Seactions are all under the econtrel of the hidden conputs WHAT TRAC LANGUAGE CAN DO With TRAC language, the reactive typewriter can be nade to do many kinds of useful work. Although it 16 connected to a “computer”, the things which are dona often have no connection with nunbers or with arithnetic. For example, the reactive typewriter can be used to produce error-free typing. To do so, you first ‘command’ the reactive typewriter to STORE your draft typing. This is what you type te do itr STORE’ MARY HAD A LITTLE LANB, TTS FLEECE WAS WHITE AS SHOW' Copyriaht () 1972 Rockford Research, Inc. All right reserved. r-2 You find you have made a ristake, The word "LAMB" 4s misspelled, This error can be easily corrected with the reactive typewriter, You use the command FIX . When the FIX conmand 1s given, the reactive typewriter responds and asks what ERROR you want corrected. You type tack LANB , which 4s the erroneous word, It then asks you to supply the CORRECTION . You type back the correct spelling IAMS , The draft copy which is stored in the reactive typewriter is now corrected. Just below, you will see what all this looks 1ike on your page, after you have taken these various steps. The underline in this example is used to show what parts were printed out by the reactive typewriter. The underline is not actually printed outr eat aiggstwat SORRECTION-LAMEY At this point, the text stored in the reactive typewriter has been corrected, You can now print out the corrected text. You use the command PRINT . ‘This is what happens: PRINT" PAY Ar A Lisle [SNR TS_FISECR Wi o By the tine you are half-way through this Manual, you will be able to use TRAC language to “construct” this kind of performance at your reactive I-3 typewriter, In addition, you will be able to make your typexriter do nany, many other things, Besides working with text, TRAC language can control actions involving nunbvers and arithmetic, It 1s easy to make the reactive typewriter behave Like this: SQUARE,12" eS Bae TE Cther numerical problems of greater complexity can be handled in much the same way. When the problem requires the entry of various kinds of data, the reactive typewriter can be nade to ask for the different kinds of data as the items are needed: Has othe ats" WASE_PER_HOUR 2.90" and so on, After all the entries are typed 1n, the reactive typewriter will compute and print out the answer. ‘The things that a reactive typewriter can do, with the aid of TRAC language, nay be exceedingly complex, For example, by using TRAC language T have nade a "compiler" with ny reactive typexriter, A compiler is a kind of nechanized translation machine for translating from one form of computer progranming to another. I am using this compiler in ay work, Sone colleagues of mine have used TRAC language in a medical experinent, for monitoring and reporting on physiclogical performance. TRAC language has been used to set up large data files, and to retrieve data and text from them, It has bean used to construct computerized ‘script? r-4 teaching systems, At a simpler level, it has been used to make the reactive typewriter play various kinds of keyboard games with people. The variety of things that can be done with TRAC language and a reactive typewriter is unlinited. Your applications will depend only upon your inagination and your cleverness in using TRAC language. In addition 40 tne methods that you nay work out, you will also be able to exchange useful TRAC language applications with your colleagues, and to une TRAC language nethods from other sources, These will all run on your reactive typewriter with little or no change. WHAT TRAC LANGUAGE 5 LIKE In the beginning, a reactive typewriter (and its hidden coxputer) does not know how to do STORE, PIK or SQUARE. It must be instructed how to do these things. The instructions are given in TRAC language in what 4s called a ‘script’, TRAC language 1s very different from the English language, or any other “people” language. For example, the elenentary statement in TRAC language for causing the reactive typewriter to print the word HELLO looks like this: #(PS HELLG) This nay lock strange, but all will te explained later in this Manual. abbreviation PS , for instance, stands for one of the 34 different “verbs” which is used in TRAC language. This is the verb for “print”. Zach of these verbs expresses a different kind of action that can be taken ty the reactive typewriter. By combining various kinds of TRAC language statenents, using the different verbs, we can write soripts which deserite very complicated I-5 “winiconputers" actions to the reactive typewriter, In adéition, we can use one of the verbs which instructs the reactive typewriter to "rementer" or to store the instruetions or soript which we have provided, Then, at sone later tine, wwe can make the reactive typewriter carry out the sequence of stored instructions, This 4s the manner in which the actions for the commands STORE , FIX or SQUARE are created. WHY WE SHOULD IGNORE THM COMPUTER purposes of TRAC language, we can almost igmare that avesone monster, "the computer". A computer is only another kind of mechanism -- like a watch, an autonchile, or a telephone, We should use these nechanisns without worrying about the inner technological details which do not affect us, After all, the real purpose of a computer, as with these other mechanisms, 1s to serve us, and not to ave us. Ignoring the computer is very appropriate, because at the present tine ‘here 4s a technological revolution in conputers going on. Only a short tine ago, there were only # very few computers, They were exceedingly complex, unreliable, gigantic, and very expensive, Fem ordinary people could afford to use then. Yery few people knew how to use them. Methods for using telephone lines to connect to remote conputers were then developed, so that dozens of people at their reactive typewriters could “tine share" the use of the same computer. Convenience was increased, sinee each person could work at his own location, Costs were cut, since ‘the expenses were shared among the many users, Nost users of this Manual will use reactive typewriters which are connected to # rencte tize-shared computer, ‘The revolution in conputers is continuing with the new ‘miniconputers". "aicroconputer* 1-6 ‘These are smali, fast, Inexpensive computers about the size of a suitcase A mintoonputer can fit into an office closet, and can serve a half-dozen or more reactive typewriters in adjacent roons. The most recent development, which is still unfolding, 1s the ‘microcomputer! -- literally, a “computer ina teacup"! A microcomputer 1s small enough to fit under the case of the reactive typewriter itself. Best of all, the price of these nicrogonputers promises to be as small as their size. Because of this evolution in the form and size of the computer, the computer has in effect disappeared for TRAC language work, The computer has gone out of sight -- and we should put it out of our mind, The thing ue see and work with is the reactive typewriter itself, and TRAC language. At this point, the beginning reader is advised to skip ahead to Chapter 2, and there to learn how to make TRAC language go, and how to make it stop, at the reactive typewriter, The remainder of this chapter is written for readers who already are conputer experts. It is written in ‘their special jargon, In the rest of thie Manuel, we won't use this Jargon, nor will we use any of the special matters discussed. FOR THE EXPERT -= WHAT TRAC LANGUAGE IS The following paragraphs are written solely for the professional computer expert. The beginner should skip to Chapter 2. TRAC language is characterized as being an interactive, macrogenerator, evaluative, string language, Tt 1s run interpretively on a standardized TRAC processor, The language is inherently uncompilable, ‘The language employs e single date type, namely the type I-? “string”, String storage is dynanic, with continuous cartage collection. The strings nay te of any length within the capacity of the allocated senory. Strings are treated interchangeably as ‘both data and executable expressions. Actions in the language are commanded by primitives expressed ing mathematical function form: f(x,y.z) . Expressions are composed of primitives concatenated and nested to any degree, Expressions are executed fron inside to outside, from left to right. After execution, each primitive 1s replaced wy the value string resulting from its execution, Hence the language is called an evaluative language. 4 TRAC system is highly interactive, and it easily performs typewriter input and output during the course of processing. Entire TRAC langunge subroutines can be inserted, or deleted, fron a Tunning procedure, thus masaively changing the behavior during run time, ‘The macrogensrator facilities of TRAC language are oimilar to, but more powerful than, the macro facilities available in nacto-assenbler systems, Macros can call other nacres, can generate and define new micros, can call for input of output, or can delete other macros, There is no limit to the depth of calls, ‘TRAC language arithmetic is decimal and integer only, and the number representation 4s by digit strings. Fron this base, other nuneric types can be constructed ty neans of TRAG language Precedures, In some of the processors, the precision of the arithmetic operations, in the nunber of digits that may be carried, is limited only by the total nunber of characters that can be dynamically contained in the computer menory. Computations with a precision of more than 2500 decimal digits have been performed. Because of the great versatility of TRAC language in providing convenient keyboard behavior, and its ability to format and ra-format data ‘pseudo prinitivest 1-8 strings and text, one of the advanced uses of a TRAC processor is to control and interface various kinds of external hardware and software modules, Such nodules are outside the strict scope of the standard TRAC T-64 language and tts processor, yet they can be very useful in specific applications, Contre] of such nodules is secured by adding custon-tailored ‘pseudo primitives" to standard TRAC lenguage, and by making corresponding extensions te the standard TRAC processor, Such pseudo primitives have the sane forn and syntax as standard TRAS language prinitives, and they provide a uniform means of coupling the TRAC processor to the external modules, ‘Typical software modules which can be coupled and controlled in this fashion dnelude euch application packages as file handlers, retrieval systems, statistical packages, compilers, and the like, The application packages may be written in FORTRAN, COBOL, PL/I, or in any other languages Because these DAckages run on compiled code, they can te exrected to run efficiently. The TRAC processor provides the flexibility, In this class of use, the TRAC processor provides the means to receive input and connands fron the typewriter, to fornat then, and te pass contrel paraneters and data to the application package, At the end of the run, the resulta from the application package can again be dealt with and porsibly re-formatted by the TRAC processor for output presentation. Sonetines the results nay be passed to another nodule for further processing or action, As an alternative to the reactive typewriter for input and output, the TRAC sor can use various files or other peripherals for the input and proc output data streams. Ina similar fashion, various kinds of hardware modules can be adminietered ty the TRAC processor, These may be stotage devices or other Anput and output peripherals. They may be graphic output and plotting 1-9 devices, One interesting application employs an automatic telephone dialing device which 4s administered ty a TRAC processcr, ‘This has been used for autoratic dialing over the transcontinental telephone netxork, and for experimentally moving files fron one computer to ancther. Where there is a built-in time clock, such network operation can be done unattended and autonatically, In these advanced uses, the entire resource of TRAC language ts available for helping te centrol the hardware and software nodules, Only a few nonstandard pseudo prinitives are required to couple the TRAC processor to any module, but once the preudo prinitives have been provid the coxplete systen is greatly extended, ‘The entire set of standard and nonstandard primitives now operates in a uniform logicel fashion to previde the required extended systens support. * * *