Network Working Group
Request for Comments: 216
Categories: D.3, G.3
NIC: 7546
J. White
UCSB Computer Research Lab
September 1971

Telnet Access To UCSB's Online System

Contents

   I.      Motivation .................................................1
   II.     Limitations ................................................2
   III.    System Documentation .......................................2
   IV.     System Access ..............................................3
   V.      Software Structure .........................................3
   VI.     Virtual OLS Keyboard .......................................4
   VII.    NETOLS Commands ...........................................10
           A. HELP ...................................................10
           B. PREFIX .................................................10
           C. SHIFT and UNSHIFT ......................................10
           D. FULLDUPLEX and HALFDUPLEX ..............................10
           E. STATE ..................................................11
           F. LOGOUT .................................................11
   VIII.   OLS Display ...............................................11
   IX.     Instructing User Telnet ...................................12
   X.      Examples ..................................................14
           A. Logon ..................................................14
           B. Newton-Raphson Square Root Approximation ...............15
           C. Remote Job Entry .......................................16
   
   Figures
   
   Figure 1. OLS Keyboard .............................................2
   Figure 2. Keys With One-for-One Mappings ...........................6
   Figure 3. Keys Represented as Strings ..............................7
   Figure 4. Characters With One-for-One Mappings ....................12
   Figure 5. Characters Which Map Into Strings .......................13

I. Motivation

A teletype-compatible interface to UCSB's Online System (OLS) has been implemented in accordance with the Telnet protocol adopted by the NWG. This Server Telnet is responsive to connection requests directed by User Telnet's to socket number 1, host address 3. Although OLS is not a teletype system and although much of its power as mathematical tool rests in its graphical display capabilities, enough of the System survives the Telnet transformation to justify such an implementation.

II. Limitations

In this Telnet-style implementation of OLS, all curvilinear display generated by the user on Levels II and III, Real and Complex, is disregarded by the System and hence not returned to the user through the Net. The same is true of the display of special, user-created characters. Although special characters may be constructed and stored, their display will be suppressed, both during the process of construction and later when they are invoked from the Type level. All other display generated by the System will be relayed to the user intact, in some cases with stylistic transformation having first been applied. For example, Greek characters are displayed as lower-case a-z. All such transformations are described in detail in this document. Finally, those elements of the System (the operators which edit user programs are prime examples) which assume a fixed-screen display device function abnormally in a Telnet environment. For such a device, the System can "remember" the position on the screen of a previously displayed segment of text and return to that position to, for example, underscore it. But when the "screen" marches forward -- relentlessly -- through a continuous medium, as it does with Telnet's virtual teletype, that kind of strategy fails. Hence, the underscoring is not relocated, but rather appears on the current line, beginning in the next available character frame.

OLS assumes, normally, that the user is equipped with the specially- designed double keyboard depicted in Figure 1. Conventions are defined in this document, which enable a Telnet user to simulate that keyboard; in particular, a means is provided for designating keys on the upper, or operator keyboard.

III. System Documentation

This document has three purposes:

Figure 1. OLS Keyboard. [Please view the PDF version of this RFC.]

(1) to describe the means by which a Telnet user simulates an OLS

keyboard,

(2) to describe the transformations applied to output generated by

       the System, and

(3) to enumerate those aspects of the System, which are unique to or

behave differently for Network (Telnet) users.

In particular, this document is not a user's manual for OLS. Such a manual is available and on file with the NIC. In addition, a copy should exist at each Network site in its NIC collection; the user should consult his Station Agent. This document is titled "UCSB On- Line System Manual" [NIC 5748]; its contents are current as of 1 January 71. A revision to the manual is currently in preparation and will be distributed when available. In addition, tutorial manuals for two of the subsystems available under OLS-MOLSF (Mathematically- Oriented Language Single-Precision Floating-Point) and COL (Card Oriented Language) -- will soon be made available. The latter has already been published and is being transmitted to the NIC for distribution, while the former is nearing completion.

Documentation of the third subsystem of OLS--NET-- has already been distributed through the NIC as two RFC's: "Network On-Line Operators" [21 April 71, RFC 121, NIC 5833] and "A User Telnet--Description of an Initial Implementation" [9 August 71, RFC 206, NIC 7176]. Net currently houses a set of operators for system-call-level interaction with UCSB's NCP, a User Telnet, and an operator (invoked by ID on Level II), which returns the status of Network hosts.

Staff members at the Computer Center will be happy to field questions about OLS from Network users. In particular, an OLS consultant is available for such purposes at (805) 961-4044. Questions about OLS, including those specific to use of the System through the Network, may also be addressed to Jim White, UCSB's Technical Liaison, at (805) 961-3454 (if necessary, messages can be left at the Computer Center Office, (805) 961- 2261).

IV. System Access

The Network user is encouraged to explore the System and is invited to do so with the following accounting parameters:

   User Number: 196
   Id Number: 57372
   User Name: ARPA
   Problem Name: (affiliation)-(name)
                   in 16 characters or less
                   (e.g., UCSB-White)

Such use of the System will not be billed. Production users are asked to establish their own accounts with the Computer Center ((805) 961-2261), the use of which will be billed in accordance with the then-current rate structure.

V. Software Structure

This document is the description of a Network front-end to the Online System, logically distinct from OLS itself. This front-end is hereafter referred to as NETOLS. NETOLS is always responsive to connection requests direct4ed to socket 1. When contacted by a Network user, NTCLS performs the Network functions required to establish a duplex connection to him. The number of such duplex connections (and hence the number of Network users) is bounded by an assembly parameter whose current value is five.

Before the Network connection is established, NETOLS secures for the user a port into OLS. Sixty-four such ports exist and are shared by local, dial-up, and Network users. Should none be available, NETOLS will abort the connection sequence.

Once a port has been secured and a Network connection established, NETOLS will effectively push the _SYST_ key for the user by transmitting to OLS the 8-bit code representing that key. A login sequence is thus initiated and the user is transmitted the lines:

UCSB ON-LINE SYSTEM
ENTER USER NUBMER

to which he should respond with his user number. Beginning at this point in time and continuing for the life of the Network connection, NETOLS's sole function is that of interpreter--interpreting input from the user and making it meaningful to the user (it is at this point, for example, that curvilinear and special-character display are discarded).

When the user breaks his Network connection to NETOLS, if eh hasn't logged out of OLS already, NETOLS performs that function for him by pushing_ SYST_ _DOWN_, just as it pushed the initial _SYST_. The OLS port acquired for the user is then released, and hence available for use by other users. It should be noted that the user can log out of OLS and back on again without the Network connection's being broken, since that action is transparent to NETOLS, who attaches no special significance to the Key sequence, which accomplishes it.

VI. Virtual OLS Keyboard

A major function of NETOLS is to provide a mapping between elements of the Telnet character set and the keys on an OLS keyboard (Figure 1). The lower, or operand portion of that keyboard is fairly easily represented, since it's similar to a standard typewriter keyboard. Most of the keys on the lower keyboard are mapped on a one-for-one basis from elements of the Telnet character set. Upper-case alphabetics are mapped into the alphabetics, lower-case, and miscellany of punctuation into itself. All such one-for-one mappings are depicted in Figure 2. A line of that figure reads as follows:

For ['half arrow' - see the PDF version of this RFC]:

The key labeled ['half arrow'] (meaning logical not) on the lower portion of an OLS keyboard is struck by causing the user's User Telnet to transmit '~' (tilde).

Those lower-keyboard keys not listed in Figure 2, and _all_ the keys on the upper- keyboard (hereafter referred to collectively as _non- standard_ keys), are represented by the Telnet user in the following manner. For each such key, a character string has been defined; the string is called the _name_ of the key. In most cases, the name of a key is identical to its label in Figure 1. The name of the _SIN_ key, for example, is 'SIN (in the Online System User's Manual, upper-keyboard keys are denoted by underscoring their labels, to distinguish, for example, the key _SIN_ from the three keys 'SIN').

Every non-standard key on the OLS keyboard is struck by typing its name (or any unique abbreviation thereof), preceded by a special _prefix_ character and followed by a space.

NETOLS interprets the prefix, name, and space from them generates a single, 8-bit code, which forwards to OLS.

The default prefix character is semi-colon (';'), chosen simply because for touch typists it's one of the home keys. The prefix can be changed by the user to any character listed in Figure 2. The procedure for so doing is described in Section VII-B. To send the prefix character through NETOLS to OLS, type it twice in succession. Thus, if the default prefix is in effect, ';;' is mapped into a single semi-colon and relayed to OLS.

The names of all non-standard keys are listed in Figure 3. A line of that figure reads as follows:

For _SIN_:

They key denoted _SIN_ in the OLS User's Manual (the trigonometric function sine) is named 'SIN', and hence is struck by typing 'SIN', preceded by the prefix and followed by a space.

Assuming, then, that the default prefix ';' is in effect, SIN is struck by ';SIN_' ('_' is used here and in following examples to denote a space). Furthermore, if the user chooses, he may abbreviate that as ';SI_', since the key desired remains uniquely identified. Further abbreviation (to ';S_') is unsatisfactory and hence disallowed since the single character 'S' is insufficient to distinguish between a number of keys whose names begin with that character. Key names may be typed by the user in either upper- or lower-case.

   As each character of a non-standard key's name is typed by the user,
   NETOLS consults it table of key names.  If the character string so
   far specified cannot possibly lead to a valid name, the most recent
   character is ignored ('?' echoed).  Hence, typing ';SJIN_' will be
   accepted as _SIN_, the erroneous 'J' being ignored (and a question
   mark echoed), and the subsequent 'JN_' accepted.  If when the
   terminating space is typed, no single key is uniquely identified a
   '?'  is echoed and the space ignored.  Thus, ';S_I_' will be
   recognized as _SIN_; the first space is

To Push (OLS Explanation) Send (Telnet Explanation)

0-9             Decimal Digits           0-9         Decimal Digits
A-Z             Alphabetics              A-Z         UC Alphabetics
_-5             Greek Characters         a-z         LS Alphabetics
!               Exclamation Mark          !          Exclamation Mark
+               Plus Sign                 +          Plus Sign
_               Underscore                _          Underscore
-               Minus Sign                -          Minus Sign
@               Commercial At             @          Commercial At
/               Slash                     /          Slant
#               Number Sign               #          Number Sign
'               Apostrophe                '          Apostrophe
&               Ampersand                 &          Ampersand
$               Dollar Sign               $          Dollar Sign
*               Asterisk                  *          Asterisk
%               Percent                   %          Percent
=               Equal Sign                =          Equal Sign
TAB             Horizontal Tab           HT          Horiz. Tab. (_[)
:               Colon                     :          Colon
;               Semi-Colon                ;          Semi-Colon
[               Left Bracket              [          Left Bracket
]               Right Bracket             ]          Right Bracket
(               Left Parenthesis          (          Left Parenthesis
)               Right Parenthesis         )          Right Parenthesis
<               Less Than                 <          Less Than
>               Greater Than              >          Greater Than
,               Comma                     ,          Comma
"               Quotation Marks           "          Quotation Marks
?               Question Mark             ?          Question Mark
[half arrow]    Logical Not               ~          Tilde
|               Logical Or                |          Vertical Line
BACK            Backspace              BS, DEt       Backspace/Rubout
RETURN          Carriage Return           CR         Carr. Return (_M)
SPACE           Space                     SP         Space

Figure 2. Keys With One-for-One Mappings

To Push (OLS Explanation) The Key Name Is

[circle .]           Multiply                       *          1
[circle +]           Add                            +
[circle -]           Subtract                       -
RETURN               Carriage Return                .
[circle /]           Divide                         /
L0                   Level 0                        0
LI                   Level I                        1
L II                 Level II                       2
L III                Level III                      3
L IV                 Level IV                       4
L V                  Level V                        5
L VI                 Level VI                       6
L VII                Level VII                      7
[circle +]           Add                            ADD        2
ARC                  Argument                       ARG
ATAN                 Arc Tangent                    ATAN
BACK                 Backspace                      BACK       3
CASE                 Case                           CASE
[cent sign]          Cent                           SignCENT
CLR                  Clear Tab                      CLEAR
CMPLX                Complex                        CMPLX
CON                  Contract                       CON
CONJ                 Conjugate                      CONJ
CONV                 Convolve                       CONV
COS                  Cosine                         COS
CTX                  Context                        CTX
DEL                  Delta                          DEL
DIFF                 Forward Difference             DIFF
DISPLAY              Display                        DISPLAY
[circle /]           Divide                         DIV        4
DWN                  Down                           DOWN
ENL                  Enlarge                        ENL
ENTER                Enter                          ENTER
ERASE                Erase                          ERASE
ESCAPE               Escape                         ESCAPE
EVAL                 Evaluate                       EVAL
EXP                  Exponentiate                   EXP
                     NETOLS Command                 FULLDUPLEX 5
                     NETOLS Command                 HALFDUPLEX
                     NETOLS Command                 HELP
ID                   Identity                       ID
INV                  Invert                         INV
[down arrow]         Line Feed Down                 LFDN
[up arrow]           Line Feed Up                   LFUP

Figure 3. Keys Represented As Strings

To Push (OLS Explanation) The Key Name Is

LIST                 List                         LIST
LOAD                 Load                         LOAD
LOG                  Logarithm                    LOG
                     NETOLS Command               LOGOUT
LS                   Left Shift                   LS
MAX                  Maximum                      MAX
MOD                  Modulus                      MOD
[circle .]           Multiply                     MULT         6
NEG                  Negate                       NEG
[half arrow]         Logical Not                  NOT          7
|                    Logical Or                   OR           8
PRED                 Predicate                    PRED
                     NETOLS Command               PREFIX
PROD                 Running Product              PROD
PT                   Point                        PT
PWR                  Power                        PWR
REAL                 Real                         REAL
REFL                 Reflect                      REFL
REPT                 Repeat                       REPT
RESET                Reset                        RESET
RETURN               Carriage Return              RETURN       9
RS                   Right Shift                  RS
0-9                  Superscript 0-9              S0-S9
SEL                  Select                       SELECT
SET                  Set Tab                      SET
                     NETOLS Command               SHIFT
SIN                  Sine                         SIN
SORT                 Sort                         SORT
SQ                   Square                       SQ
SQRT                 Square Root                  SQRT
                     NETOLS Command               STATE
STORE                Store                        STORE
SUB                  Substitute                   SUB
[circle -]           Subtract                     SUBTRACT     10
SUM                  Running Sum                  SUM
SYST                 System                       SYST
TEST                 Test                         TEST
TYPE                 Type                         TYPE
                     NETOLS Command               UNSHIFT
UP                   Up                           UP
USER                 User                         USER

Figure 3 (cont'd) Keys Represented As Strings

   1. Alternate names for [circle .], [circle +], [circle -], RETURN,
   
      and [circle /] are 'MULT', 'ADD', 'SUBTRACT', 'RETURN', and 'DIV',
      respectively. RETURN can also be represented as the single
      character CR (carriage return), as indicated in Figure 2.
   
   2. An alternate name for [circle +] is '+'
  1. Alternates for BACK are the single characters BS (backspace) and DEL (rubout), as indicated in Figure 2.
  1. An alternate name for [circle /] is 'DIV'.
  1. NETOLS commands are explained in Section VII.
  1. An alternate name for [circle .] is 'MULT'.
  1. An alternate for '[half arrow]' is the single character '~' (tilde), as indicated in Figure 2.
  1. An alternate for '|' is the single character '[2 vertical lines]' (vertical line), as indicated in Figure 2.
  1. An alternate name for RETURN is '.' RETURN can also be represented as the single character CR (carriage return), as indicated in Figure 2.
  1. An alternate name for [circle -] is '-'.

Notes for Figure 3.

Ignored (and a '?' echoed, indicating that 'S' alone is ambiguous).

At any point in the entry of a key name, either Altmode (ESC) or '?' may be typed by the user. NETOLS will then determine whether a key has been uniquely specified by the characters already typed. If so, it will echo the remaining characters of the key's name, and consider them entered by the user. A subsequent space from the user will cause the indicated key to be pushed. If no single key is uniquely specified, NETOLS will echo Bel, causing a bell to be run on many terminals. More of the key name is then expected from the user.

If after at least one character of the key name has been entered by the user and accepted by NETOLS (and before the terminating space is typed) the prefix is typed a second time, all already entered characters of the name are discarded by NETOLS. Thus ';CO;SIN_' is interpreted as _SIN_. If a carriage return is typed in the same context, the initial prefix will also be discarded. Hence, ';CO%S' ('%' denotes carriage return) is interpreted as the lower-keyboard key 'S'.

VII. NETOLS Commands

A number of commands to LETOLS are defined and all are described in this section. The format for each such command is the same as that for the non-standard keys, and hence the command keywords are included in Figure 3. All of the conventions of Section VI apply as well to the entry of commands. The user should understand, however, that such commands are processed by NETOLS, not OLS, and that they are defined only for Network users of OLS.

A. HELP

The HELP command (invoked with ';HELP_' if';' is the prefix) reproduces for the user the third column of Figure 3; the names of all non-standard keys and the keywords for all defined NEOLS commands are listed in their collating sequence on the user's virtual teletype.

B. PREFIX

Issuing the PREFIX command causes the next character typed to become the prefix, provided it is one of those listed in Figure 2. Consequently, ';PREFIX_@' makes '@' the prefix, '@PREFIX_;' restores the defaults situation.

C. SHIFT and UNSHIFT

The SHIFT command causes a perturbation of lines 2 and 3 of Figure 2. After SHIFT is issued, all subsequent upper-case alphabetics are mapped into the Greek characters (rather than into the alphabetics), and lower-case alphabetics into alphabetics (rather than into the Greek characters). This convention change may be found convenient if the user's User Telnet sends lower-case alphabetics by default, and requires, for example, that a shift key be held down to send upper- case characters.

The UNSHIFT command nullifies the effect of SHIFT.

D. FULLDUPLEX and HALFDUPLEX

Issuing the FULLDUPLEX command causes all subsequent characters typed by the user to be echoed by _NETOLS_. HALFDUPLEX nullifies the effect of FULLDUPLEX, disabling echo by NETOLS. Half-duplex is the default situation.

E. STATE

The STATE command causes the current prefix, the mode of operation ('HALFDUPLX' or 'FULLDUPLEX'), and the case convention ('SHIFT IS ON' or 'SHIFT IS OFF') to be displayed on the user's virtual teletype in the following form:

PREFIX IS;
HALFDUPLEX
SHIFT IS OFF

F. LOGOUT

Issuing the LOGOUT command causes the user to be logged out of OLS (i.e., _SYST_ _DOWN_ to be pushed) and his Network connection to NETOLS to be broken. About three seconds elapse between the two events.

VIII. OLS Display

NETOLS suppresses all but alphameric display before it reaches the user. Alphameric display is mapped into the Telnet character set according to Figures 4 and 5. Figure 4 lists all those OLS display character, which have one-for-one mappings. A line of that figure reads as follows:

      For '[half harrow]'

The character logical not, displayed as '[half arrow]' on an OLS terminal, is represented in Telnet as '~' (tilde).

Alphabetics are mapped into upper-case alphabetics and Greek characters into lower-case alphabetics. Numerics are mapped into numerics, and a miscellany of punctuation into itself. In addition a number of carriage control characters are appropriately mapped-- line feed down into LF, TAB into HT, BACK into BS, etc.; line feed up is suppressed. ERASE is represented as Bel.

Figure 5 lists those OLS display characters which are mapped into strings of Telnet characters. In most cases, these character strings are stylistic representations of characters peculiar to OLS. For example, the _ADD_ key is normally displayed in List mode as '[circle +]'. In this Telnet implementation, '(+)' is an attempt to represent that graphic. Superscripts are represented as underscored numerics. Carriage return is represented as CR LF. No attempt is made to effectively represent RS which, on an OLS display device, repositions the beam to the upper left corner of the screen; it is made equivalent to carriage return.

IX. Instructing a User Telnet

For local users, all echoing _that's done at all_

To Display       (OLS Explanation)  OLS Sends  (Telnet Explanation)
0-9                Decimal Digits     0-9        Decimal Digits
_-Z                Alphabetics        A-ZUC      Alphabetics
_-5                Greek Characters   a-z        LC Alphabetics
!                  Exclamation Mark   !          Exclamation Mark
+                  Plus Sign          +          Plus Sign
_                  Underscore         _          Underscore
-                  Minus Sign         -          Minus Sign
@                  Commercial At      @          Commercial At
/                  Slash              /          Slant
#                  Number Sign        #          Number Sign
'                  Apostrophe         '          Apostrophe
&                  Ampersand          &          Ampersand
$                  Dollar Sign        $          Dollar Sign
*                  Asterisk           *          Asterisk
%                  Percent            %          Percent
=                  Equal Sign         =          Equal Sign
TAB                Horizontal Tab.    HT.        Horiz. Tab (_I)
:                  Colon              :          Colon
;                  Semi-Colon         ;          Semi-Colon
[                  Left Bracket       [          Left Bracket
]                  Right Bracket      ]          Right Bracket
(                  Left Parenthesis   (          Left Parenthesis
)                  Right Parenthesis  )          Right Parenthesis
<                  Less Than          <          Less Than
>                  Greater Than       >          Greater Than
,                  Comma              ,          Comma
"                  Quotation Marks    "          Quotation Marks
?                  Question Mark      ?          Question Mark
[half arrow]       Logical Not        ~          Tilde
|                  Logical Or         |
                                      |          Vertical Line
BACK               Backspace          BS         Backspace
SPACE              Space              SP         Space
ENL/[up arrow]     Line Feed Up
CON/[down arrow]   Line Feed Down     LF         Line Feed ([up arrow]J)
_                  List Mode Space    _          Underscore
[shaded rectangle] List Mode Rubout   X          Upper-case X
_                  List Mode Pointer  _          Underscore
BREAK              Break              SP         Space
ERASE              Erase              BEL        Bell (_G)

Figure 4. Characters With One-for-One Mappings

To Display (OLS Explanation) OLS Sends

:                     Post List                  (:)
[circle +]            List Mode Add              (+)
[circle -]            List Mode Subtract         (-)
[circle .]            List Mode Multiply         (*)
[circle /]            List Mode Divide           (/)
[arrow]               List Carriage Return       ([2 vertical lines])
RETURN                Carriage Return            CR LF
RS                    Reset to Upper Left        CR LF
[cent sign]           Cent Sign                  C BS [2 vertical lines]
0-9                   Superscript 0-9            0 BS _
                                                  -
                                                 9 BS _

Figure 5. Characters Which Map Into Strings

is done by OLS; the terminal never echoes. In general, OLS does not echo the user's input. There are exceptions to this rule, but they are relatively few in number and occur primarily on the SYST level. In particular, upper keyboard keys are never echoed except in List mode. The Network user is advised to instruct his telnet to operate in full-duplex mode, i.e., to echo nothing. The FULLDUPLEX command provided by NETOLS is provided because it can be provided, but its use is not recommended.

OLS is meant to be used in character-at-a-time mode, and the user should so instruct his User Telnet. For those users provided with only a line-at-a-time mode, the end-of-line character should not be transmitted to NETOLS.

NETOLS flushes without comment all Telnet control characters it detects in the input stream. Characters in the Telnet character set which have no meaning to NETOLS are echoed as '?' and discarded. Exceptions are LF (line feed) and NUL, which are flushed without comment.

X. Examples

A. LOGON

The dialogue which logs a user onto OLS, assuming the user number of Section IV, is as followings:

   TELNET ENTRY            OLS QUERY/RESPONSE
   
                                   UCSB ONLINE SYSTEM
                                   ENTER USER NUBMER (196)
   196%                            ID NUMBER=
   57372%                  USER NAME= (ARPA)
   ARPA%                   JOB NAME= (UCSB-WHITE)
   UCSB-WHITE%             AUTOSAVE CODE = integer
   MOLSF %                 LOAD (MOLSF)
                                   FILE LOADED

In this and succeeding examples, '%' denotes CR (carriage return). Entries echoed by OLS are enclosed in parentheses above. The user should substitute for 'UCSB-WHITE' his own affiliation and name. The procedure above loads the math subsystem of OLS. To load instead either COL or NET, substitute its name for 'MOLSF'. To load a different subsystem (say COL) after logging in:

   TELNET ENTRY                    OLS QUERY/RESPONSE
   ;SYST_                          WORK AREAS UPDATED
   ;LOAD _COL%                     LOAD (COL)
                                           FILE LOADED

Again, '_' denotes a space, not an underscore.

B. NEWTOWN-RAPHSON SQUARE ROOT APPROXIMATION

A simple user program can be constructed to approximate the square root of a number N using the Newton-Rapshon iteration procedure, which derives the (k+1)th approximation from the kth by the following algorithm:

      X k+1= (xk+n/kk)/2

The following entries construct the user program:

   ;LIST_)TYPE_%ENTER_N
   ;1_;REAL_;LOAD_;ENTER_;STORE_N
   ;TYPE_% ENTER_FIRST_GUESS
   ;1_;LOAD_;ENTER_;STORE_X
   ;TYPE_%#_OF_INTERATIONS?
   ;0_;LOAD_;ENTER_;STORE_N
   ;1_;REPT_(;LOAD_N ;/_X;+_X ;/_2
           ;STORE_X ; DISP_%/_X ;+_X ;/_2
   ;LIST_;STORE_;USER_;1_;SQRT_

To display the user program, enter:

   ;USER_;DISP_;SQRT_

When executed, the program obtains from the user the number N whose square root is sought, an initial guess, and the number of iterations to be performed. The program then computes and displays the results of each iteration, and then calls itself, permitting a second square root to be computed. The program is executed as follows:

   TELNET ENTRY                    OLS QUERY/RESPONSE
   
   ;USER_;1_;SQRT_                 ENTER N
   3 ;ENTER_                               ENTER FIRST GUESS
   1 ;ENTER_                               #OF ITERATIONS?
   4 ;ENTER_                               2.       +00
                                           1.75     +00
                                           1.73214+00
                                           1.73205+00
   
                                           ENTER N
                   etc.

C. Remote Job Entry

A file of card images can be constructed with the help of the COL subsystem of OLS ard submitted as a batch job. Assuming COL has been loaded, the following entries construct a card file which invokes the Fortran compiler:

   ;2_//jobname_JOB_(acct#,name , , , , , ,T) ; STORE_
   //_EXEC_FORTGCLG ; STORE_
   //FORT.SYSIN_DD_* ; STORE_
   source-statement-1 ;STORE_
   
                   ...
   source-statement-N ; STORE_
   /* ; STORE_

To display the completed file, type:

           ;3_;DISP_%

To submit the file, type:

           ;4_;SUB_%

To watch for it in execution, type:

;DISP_J%%%...

When execution is complete, 'printed' output can be retrieved with the following dialogue:

   TELNET ENTRY                    OLS QUERY/RESPONSE
   
   ;CMPLX_;LOAD_                   UNIT = (2314)
   2314%                                   VOL=SER= (MVT180)
   MVT180%                         DSNAME= (RJEOUT)
   RJEOUT%                         MEMBER= (jobname)
   Jogname%                                NOW LOADING
                                           FILE LOADED

The output can then be examined by entering:

;2_;DISP_1%%%...

NOTE: Text within brackets describes non-ASCII characters that were part of the original document. Please see the PDF file for the original representation.