<<

1111111111■■■■■■■■■■■■■■■■•

Volume 10 /Number 6

November/December 1982 I. P. SharpAssociates NEWSLETTER

In This Issue

Conferences 1982 APL Users Meeting 1 APL 82 3 SHARP APL New Release of SHARP APL 4 Applications Software Crosstabulations with XTABS 7 Data Bases New Petrochemical Data Base 8 CHANGES 9 APL APL Terminology 10 Customer Application APS: A Planning System 12 Bulletin Board 1982 APL Users Meeting Atlanta, Houston, Rochester, Washington, Over 700 persons from 22 coun­ the following publications are Wayne 13 tries gathered in Toronto for the available: Publications 1982 APL Users Meeting in Octo­ An Introduction to APL for Book Ends 14 ber. Lively exchanges among at­ Managers ($5.00) Network News tendees and speakers on the prob­ An Introduction to APL for New Dial Access lems, solutions, and applications of Statisticians and Economists Numbers 15 APL highlighted this third inter­ ($70.00) national users' meeting. The most popular sessions were Technical Supplement 41 The use of APL is increasing. designing APL systems that are Searching, Part 4 Tl Ray , editor of APL Mar­ user friendly, maintainable, and Joint Representation T3 ket News, in his talk estimated efficient. These talks organized key New System Variable, there are over 100 000 persons concepts in the design of APL sys­ □EC TS who know some APL. Also the tems. Starting with a fundamental Workspace of the number of APL vendors has design and implementation philoso­ Month: 7 WSSEARCH T7 grown, from 10 in the late '60s phy, they go on to give you Drawing APL Trees: and early '70s, to 140 in 1982. specific recommendations on how Answers to Brain- The market for APL is maturing. to design APL systems that re­ teasers T8 From the opening session to the quire less maintenance effort and close of the meeting, users asked improve program productivity. for more information. And the These Special Technical Topics meeting aimed to do just that. The are compiled in Volume II of the three-day meeting was preceded by Proceedings ($70.00). day-long tutorials to introduce The workshops on introducing APL to actuaries, financial prof es­ APL, managing APL, and APL sionals, managers, statisticians and training provided an opportunity economists. From these tutorials, for panelists to share their cumu-

G) ® ••••••••• ti ABC - >PET< PA03630-Y660 II ■■■■■■■■■■■■■■■■■■■■■■■■■■•

CONFERENCES

S omethingfor everyone

lative knowledge from hands-on gether to exchange ideas and ap­ on managing APL. He also pre­ experience, and for the audience to plications. sented a paper "The PROMIS question and voice their concerns. The first night of the conference Mine Planning and Control Sys­ Workshop Reports ($5.00) in­ was highlighted by a special pre­ tem". At INFOGOLD, "We fore­ cludes the papers given by the sentation on APL animation in see an increasing role for APL be­ panel members plus a summary of TRON. Equipped with slides and cause of its well known advan­ the question-and-answer session film, Judson Rosebush, president tages: fast development, ease of from each workshop. of Digital Effects Inc., New York, maintenance, ease of change, and Not only were the days action­ discussed how APL was used to shorter staff training." filled, but discussions carried on animate sequences for the film If you missed the meeting, order into the evenings as well. Special TRON, as well for logo and your copy of the Proceedings. Interest Groups were held for scientific animations, and advertise­ Volume I ($15.00) contains the those with an interest in APL on ments. application papers plus the open­ microcomputers, arrays and opera­ John Corrie (front page), project ing and closing session papers. tors, and actuarial and insurance manager, Mining and Production Copies of all 1982 APL Users applications. A presentation on in­ Services, INFOGOLD, travelled Meeting publications are available house SHARP APL was given from Welkom, to from the Publications Department and a MABRA users group got to- participate in the workshop in Toronto. Left: Roger Moore (background) , I.P. Sharp Associates, Toronto, Ont. and Michael Montalbano (foreground), IBM, San Jose, Ca. "APL provides the best set of gad­ get-understanding and gadget­ controlling ideas currently availa­ ble. Looking to the future, it pro­ vides the best base for the method­ ology we must develop if we are ever to bring our gadget-based technology under control."

Above: Adin Falkoff, IBM, York­ Above: Eugene McDonnell town Heights, N.Y. "Introducing (right), I.P. Sharp Associates, restrictions: don't use assignment, APL is like selling anything. Iden­ Palo Alto, Ca. "It's possible to use the direct definition form of tify a potential need, do the leg­ make a purely functional language function definition, and don't use work to find receivers, and make out of APL by adhering to these global variables." sure that APL is available."

2 I.P SHARP NEWSLETTER

G) @ •••••••• 1 ti ABC - - �---_---I >PET< PA03630-Y660 [9] CONFERENCES

And not all work APL82 APL Fans Flock to Heidelberg

Sandra Eadie, Diisseldorf

Below: Donald McIntyre, Pomona To the surprise and delight of the College, Claremont, Ca. "APL is not organizing committee, 617 persons the product of Iverson alone, or of from 23 countries attended APL Falkoff and Iverson, or indeed, of 82 in Heidelberg, West , any group of living people. It is the last July. result of brilliant insight, careful Conference attendees heard thought and hard work through at many informative papers, ranging least 5000 years. Ken Iverson is from Philip Chastney's tongue-in­ merely the latest figure in a succes­ cheek proposal for a new APL en­ sion that includes Peano, Boole, tity,. a snark, which is a new kind Sylvester, Cayley, Newton, Leibnitz, of nothingness, to proposals to in­ Napier, Stevinus, Fibonacci", Diop­ dex infinite arrays. Enclosed ar­ hantus, and the unknown Egyptian, rays were also discussed in great whose work was copied by Ahmes, depth; however, the consensus the scribe. We are indeed in dis­ seems to be to wait and see what tinguished company. Thank you the users do with them before any Ken and Adin for your great major new changes are announced contribution." or standards agreed on. Although people often complain about the "strange" symbols used Above: "Best part of the conference in APL, APL's compactness and is meeting people and talking with freedom from the English language people, finding out how they are are seen as an advantage in non­ using APL, and of course, English-speaking countries. The ...finding a good restaurant." blind also consider this an advan­ tage, according to Waltraud Schweikhardt, who is blind. By Below: The SHARP APL graph­ using an extended version of ics exhibit introduced many people Braille, the programmer can read to SuPERPLOT. and write programs much more quickly than in English-based lan­ guages. Copies of the APL 82 Confer­ ence Proceedings (ACM Order No. 554820) are available from the Association for Computing Machinery. The price for ACM members is $22.00 U.S.; for non­ members $29.00 U.S. Place orders prepaid with:

ACM Order Department P.O. Box 64145 Baltimore, Maryland 21264

NOV/DEC 1982-VOL. JONO. 6 3 ■■■■■■■■■■■■■•■■■■■■■■■■■■■

SHARPAPL

New Release of SHARP APL

Leslie Goldsmith, Toronto

Every six months, I.P. Sharp As­ Aside from speeding up execu­ ously it was restricted to event sociates releases an updated ver­ tion, the use of references (or 2001 (return to immediate execu­ sion of SHARP APL to its own "joint representation") decreases tion). Thus you can request that timesharing system and to custom­ the space required to execute some the workspace be cleared if an er­ ers who run SHARP APL on APL expressions. First, variable ror occurs, using the trap defini­ their own computers. A new re­ assignment avoids copying the val­ tion O D CLEAR. When D EXIT is lease was installed on the SHARP ue being assigned wherever possi­ used, the system reacts by

APL Service in September. In No­ ble. Therefore, A+B+C+-20000p' o' propagating the event up one stack vember, this release was distrib­ creates only one 20 000-element level and signalling the event in uted to in-house customers. array rather than three. Second, the calling function's environment. A new release represents six calling a function with variables as This "resignalled" event may be months of development work on arguments no longer makes a copy trapped by another trap expres­ the SHARP APL product. Typi­ of the named arguments. Both of sion, or possibly by the same D cally, the release may contain ex­ these features should improve pro­ trap (in which case the cutback tensions to the SHARP APL lan­ gramming style by eliminating the and signalling procedure is repeat­ guage, improvements to the per­ use of coding tricks to avoid dupli­ ed). formance of existing features, and cation of large objects in the The action codes C, D, E, N, and remedies for outstanding problems workspace. S may be used without any event or bugs. The APL product encom­ Introducing joint representation numbers. Eliding the event num­ passes more than just the lan­ into the interpreter substantially bers causes the trap expression to guage, so areas of enhancement modified the internal representa­ trap all events within the purview extend to APL software which tion of enclosed arrays. As a re­ of the action code. That is, when forms part of the system, to auxil­ sult, the overhead required to store action codes C and E are used iary processors which provide an­ an enclosed array is about 80 per without event numbers, they will cillary services to users, and to cent less. trap all class-0 and -1000 events; batch programs which are required More information on joint rep­ action code D will trap all class-0 to operate and maintain an APL resentation may be found in this and -1000 events, as well as event system but are seldom visible to issue's Technical Supplement. 2001. users. To enable an event trap to han­ Dual and composition operators dle events occurring only at a par­ APL runs faster and in less improved ticular level of the execution stack, space using "references" there is a new action code, 0 Simplifications resulting from the (Own). Action code O is the first Significant modifications were use of joint representation have action code which behaves as a made to the internal workings of sped up the dual (") and composi­ qualifier, and is used in conjunc­ APL, by changing the way varia­ tion (o and �) operators substan­ tion with another action code. For bles are stored within workspaces. tially. Both dual and composition example, the trap expression The interpreter can now refer to a with disclose as the right function 0 0 E -+L2 will trap events occur­ variable in the workspace via a run up to three times faster than ring only at the level at which the "reference" to it (in effect, a they used to. associated OTRAP is localized. Us­ pointer to the value), rather than ing the O qualifier makes it possi­ Extensions to event trapping having to incur the cost of making ble for a function to disable its another copy of the data. This traps for functions it calls, without change results in general speed-ups A number of extensions were made to SHARP APL's event­ relying on the called functions throughout the system, particularly themselves to do it. for functions that manipulate en­ trapping facilities. Action code D closed arrays. now extends to all events; previ-

4 l.P SHARP NEWSLETTER

G) ® •••••••• rt ABC - .._:-_ -_--1 >PET< PA03630-Y660 g SHARPAPL

Explicit ranges of event numbers tie as four per cent of the execu­ ing (1), residue (I), and represen­ are now permissible in trap defini­ tion time previously taken. The tation (T) functions with complex tions. For example, the range speed-up increases with the num­ arguments now give results, rather 1-16 will trap all events from 1 ber of names to be printed. The than DOMAIN ERROR. The latter to 16 inclusive, which represents new algorithm requires a certain three primitives have correlated the common APL errors. Ranges amount of working storage in definitions which may be expressed are particularly useful when speci­ which to operate. As a result, in a in terms of complex floor. The fying classes of user-defined errors, workspace which has very little definition of floor which was im­ as in the trap definition free space, the older, more time­ plemented was proposed by E.E. 1-499 600-699 C SAVE. consuming algorithm may still be McDonnell, in his paper "Com­ employed by the system. plex Floor", presented at the APL Conditioning your program 73 Congress in Copenhagen. The environment Performance of □WS improved definition essentially preserves the property that the distance between APL programmers have always Most operations performed by the a number and its floor be strictly been faced with the difficulty of system function □WS are faster. less than unity. writing functions which will be­ 1 □WS n, which returns identifier In addition to the extension of have robustly when users acciden­ names by class, uses an improved these four primitives to the com­ tally or maliciously tamper with sorting algorithm and runs as plex domain, the complex magni­ them. OTRAP made it significantly much as 65 per cent faster than it tude function is five times more easier to write robust, secure sys­ previously did. 3 □WS id, which accurate than it was. tems in APL, but there remained returns the members of a group, 1s the difficulty of ensuring that a about 50 per cent faster. 4 □WS Input acquisition during bounce program had the chance to set ids, which computes the space oc­ OTRAP and other aspects of the cupied by one or more objects, Entering D or [!] input acquisition program's environment prior to runs slightly slower due to im­ in any type of task which is being any interruption. proved error detection and proper bounced now results in the mes­ To handle this problem, a new computation of the space consumed sage INPUT INTERRUPT and im­ system variable, DEC (Environment by a group contained within a mediate task termination. DER in Condition), has been introduced. group. the saved workspace will properly Localizing DEC essentially makes a indicate the cause of the termina­ program behave like a primitive Result of ONL now sorted tion. Previously, input acquisition APL function would, until you in­ via D exhibited this behaviour, but dicate otherwise. This gives the □NL, which returns the names of [!] did not. program a chance to set OTRAP, objects in a particular class, now □IO, or perform any other desired sorts its result alphabetically. The Improved HSPRINT and actions before allowing the user to collating sequence used in the sort FILESO RT user interfaces get control. is the same as that employed by For more details on □EC, see )FNS, )VARS, )GRPS, and □WS, The functions in workspaces the article in this month's namely □AV[l}'□AV�' ']. Previous­ 1 HSPRINT and 1 FILESORT have Technical Supplement. ly, the rows of the result of □NL been replaced by more efficient were returned in accidental order. and more compact versions. The )FNS, )VARS, and )GRPS run new functions use shared variables faster Complex arithmetic extended and a system quartermaster N -task to manipulate their request The system commands )FNS, More complex arithmetic functions queues, rather than performing the ) VARS, and )GRPS now use as lit- are available. The floor (L), ceil-

5 NOV/DEC 1982-VOL. 10 NO. 6 ■■■■■■■■■■■■■■■■■■■■■• ■■■■■

SHARPAPL

operations in the user's workspace. This release of the SHARP tains a number of internal exit The BTASK and HCPRINT request APL product running under the points at which a site may intro­ submission systems already utilize MYS operating system allows both duce its own customized behaviour. the quartermaster task. APL and the workspace back-up As an example, in the new re­ With an autonomous N-task, utility to run, even when some lease, the format and composition the user functions no longer need disks containing users' workspaces of the system sign-on and sign-off to manipulate sensitive data or or swap extents are not available. reports are under the complete site-dependent file passnumbers. As The increased resilience permits an control of each site. A number of a result, the new cover functions APL system to provide service to other exits were added throughout are simple, self-contained, unlocked users who are not affected by the the system, and more will be in­ programs which request service unavailable devices. If a user at­ troduced in future releases. from the N-task but do very little tempts to access a workspace on a work themselves. lost device, the error message VSAMAP and FCAP: two new In addition to the improved user WS NOT READABLE is returned. auxiliary processors interface, a number of other en­ hancements were made to the Back-up utilities improved An auxiliary processor is a pro­ HSPRINT facility. A major rework­ gram that runs on the same com­ ing of HSPRINT's internal organi­ The workspace incremental back­ puter as APL, and communicates zation has resulted in enormous up utility has been improved. The with APL users by means of reductions in the cost of perform­ new utility is capable of running shared variables. SHARP APL ing some inquiries. (MINE, for ex­ essentially at the speed of the tape supports two new auxiliary proces­ ample, is several hundred times drive to which it is writing. This sors, Virtual Storage Access Meth­ faster.) HSPRINT requests are typically improves the previous ex­ od Auxiliary Processor (VSAMAP) processed automatically upon sub­ ecution time by a factor of five. and Function Call Auxiliary mission by the user, which means The file incremental back-up Processor (FCAP). The version of decreased turnaround time­ utility now permits concurrent ar­ VSAMAP available from I.P. particularly for requests with des­ chiving of multiple volume classes Sharp is a new program whose tination of FILE or REMO. Some in the MYS environment. A behaviour is upwardly compatible categories of HSPRINT requests, volume class is simply a portion with IBM's AP 123. The auxilia­ such as those creating tapes, may of a file system. For in-house sites ry processor is capable of reading, still require operator intervention with large amounts of data to writing, and updating VSAM key­ prior to processing. store, the file system can be parti­ sequenced and entry-sequenced tioned into disjoint volume classes. data sets. Access to use VSAMAP System availability This change to the file utility al­ is controlled by a special system lows a number of these classes to user table. The SHARP APL system is de­ be backed up at the same time, The FCAP processor, as the signed to run virtually continuous­ thereby reducing how long it takes name implies, can be used to call ly, with most forms of data back­ over all to run file back-up. non-APL programs from an APL up being performed while the sys­ task. FCAP will access a subrou­ tem is available to timesharing Site-dependent system exits tine from a particular library, con­ users. However, sometimes failures vert the APL user's data to the in important but non-critical hard­ To increase the control that an in­ format expected by the subroutine, ware components-such as certain house site has over the SHARP invoke the subroutine, and finally disk drives connected to the sys­ APL product, the system now con- return its result to the user. Su­ tem-can cause the system to hang broutine argument specifications or even crash. and access controls for FCAP are also controlled by a user table. 6 I.P SHARP NEWSLETTER

G) ® •••••••• ti - ABC - >PET< PA03630-Y660 a •••••••••••••••• •••••••••••

APPLICATIONSSOFTWARE

Crosstabulations with XTABS

Yudi Plonka, Toronto

I.P. Sharp's crosstabulation pack­ scaling frequencies with row data base, you can find the same age, XTABS, analyses and manipu­ factors variable AGE used in the preceding lates questionnaire data efficient!y, • Multilevel titles and headings report, as well as other variables. and produces a variety of special­ • Pagination and flexible for­ For example, OVERALLRANK gives ized reports. Market researchers, matting features including you the overall ranking of Mr. social scientists, government survey specifications for display and Waffle's restaurant. boards, and statisticians involved rounding of significant digits, You may want to experiment with the interpretation of such column widths, and banner with the demonstration first, in or­ data will find XTABS easy to breaks der to get into the swing of learn, powerful, and cost-effective. XTABS. Although XTABS will not XTABS contains a full range of Using XTABS allow you to add to or enhance straightforward English-type com­ this demonstration data base, you mands for handling discrete and X TABS is not a computer language. still have access to all the com­ continuous data, running reports It has been designed with the end mands necessary for displaying interactively and in batch, obtain­ user in mind so you don't need definitions and running reports. ing highspeed printouts, and stor­ any computer experience to use it. XTABS contains defaults for the ing results for further analysis or All commands are available in the various options available. These rev1s10n. workspace 31 XTABS. To begin defaults can be regarded as auto­ Survey data is extracted from an using XTABS, simply type: matic report specifications for such input source to form a survey data things as the calculation of num­ )LOAD 31 XTABS base. Sets of data, called bers, the format of titles, and the variables, are defined once and All you really need to produce a control of page depths and widths. automatically saved in the data report is a survey data base and If you don't want the control base. XTABS thus saves you a some input data. You could create offered by a particular option, you great deal of time and effort by a survey data base, use the dem­ don't have to learn how to use it. requiring you to define variables onstration input data to add a var­ But as your needs become more only once instead of for each re­ iable called AGE (with appropriate sophisticated, you will find ade­ port. headings) and produce a one-way quate provision for overriding de­ Several com·mands are available holecount as in figure 1. faults through further commands. for choosing report options and A sample data base, Contact your I.P. Sharp repre­ therewith generating reports that MR. WAFFLE MARKET SURVEY, is sentative for your copy of the are characterized by a high degree also accessible from this workspace XTABS manual or for assistance in of detail and sophistication. Some with the TIE DEMO command. using XTABS to solve your survey of the options included are: In the demonstration survey problems.

'DENO SURVEY' CREATESURVEY 1 2000 XTDEHOPILE INPUT 'SEQ' • One-way holecounts to mul­ 1 'AGE' ADDVARIABLE 12-13=G{8-15) . G( 16-25) .G(26-3S} ,G( 36-55)' Figure 1 tidimensional crosstabulations NTASK 6765 PROCESSING .•.• •AGE' HEADINGS 18-15 YEARS.16-25 YEARS,26-35 YEARS, 36-55 YEARS' • Seven different types of totals TABULATE 'AGE' RUN NTASK 6765 PROCESSING ..•• and associated percentages ALIGN PAPER. PRESS RETURN KEY TO START • Statistics such as mean, stan­

DATE: SEP 24 0 1982 PAGE 1 dard deviation, chi-square, and REPO!ff 'CURRENT' DEHO SURVEY

probabilistic measures VARIABLE HEADINGS COUN'l •/•

• Specification of a restricted AG& B-15 YEARS 279 13.95 16-25 n:ARS 443 22.15 sample base 26-35 YEARS 650 32,50 628 31.40 • Weighting frequencies with 36-55 YEARS BASE TOTAL 2000 the corresponding raw scores or

NOV/DEC1982-VOL. 10 NO. 6 7

G) @ @ •••••••• , tL ABC ABC - - � ---_-_ -__, >PET< PA03630-Y660 DATABASES

New Petrochemical Data Base

Sally Drew, Paris

I.P. Sharp's involvement in the en­ contract prices are quoted for deals section of each of the reports from ergy field has recently been ex­ concluded during the previous August 1982 to the latest update tended to include a new petro­ week, followed by a short para­ would have been printed. chemical data base, 1c1s. 1c1s con­ graph giving market trends; or as If you select the GRAPH option, tains worldwide market informa­ numeric data extracted directly you have the choice of printing the tion for a range of chemical and from the text. graph at your terminal or at your petrochemical products as reported You can gain access to the ICIS nearest I.P. Sharp office. by Independent Chemical Informa­ data base in two ways: through tion Services Ltd. (ICIS). The 121 ICIS or through 121 PETROSERIES data base is updated weekly with 121 PETROSERIES. information relating to market ac­ This workspace contains a full set tivity during the previous week. 121 ICIS of MAGIC functions (1.P. Sharp's ICIS specializes in objective language for manipulating time se­ market research in the chemical With this interactive system you ries data). With MAGIC, you can and petrochemical industries. With can display the weekly report, ta­ quickly and easily retrieve, more than eighty per cent of all bles, and graphs without any prior analyse, and report numeric data major producers and consumers knowledge of computers. Online from this data base (and from oth­ contributing information as well as assistance is available throughout er energy or non-energy data bases subscribing to the service, ICIS the system if you are uncertain of available on the SHARP APL has become highly respected as an the valid responses to the prompts. Service). industry reference. The prompts are normally at two Figure 1 is a graphical summa­ The ICIS data base contains in­ levels: the first is fairly short, de­ ry of the butadiene market for the formation on two product groups. signed to serve as a quick remind­ first eight months of 1982. The The following list of products will er; the second, more detailed. spot FOB Rotterdam export price likely increase early in 1983. After you load the ICIS workspace, has been converted from U.S. dol­ update information is printed. In lars to using the Chemical Group 1 the following examples, the latest data base. butadiene, ethylene, propylene, update is assumed to be the end For further information on the crude C4, phenol, acetone, of August 1982. LKI'EST always 1c1s data base and for access to the mono ethylene glycol (MEG), gives you the most recent data. data without surcharge for a methyl tertiary butyl ether If you had selected REPORT at month, contact your local I.P. (MTBE), raffinate 1, and the OPTION prompt, the butadiene Sharp office. methanol

THE BUTADIENE MARKET Chemical Group 2 2,200 • ·•· CONTRACT PiUCE �.:� -:. ... �. a,.\l)F' caustic soda-liquid, solid, 2. 000 - 2. 000 ---- SPOT F08 ROAM EXPORT flakes, and pearls, soda ash­ light and dense, sodium sul­ I. 800 ,. 800 I, 800 � phate, vinyl chloride monomer � (VCM), ethylene dichloride I. 400 1, 400 -�\

(EDC), and polyvinyl chloride ---+---'-__!/ggo :�: : 1;:���J- -::,--.:._-_-_-_>-_------+-- Figure 1 -;:,, � CEA.LS CONCLUDED (PVC) � I � I �

8, !500 11, !SOO The information is available in T two forms via the SHARP APL Service: either as a written report �,.�.,;----0,:.-,---t;.,��-�-�-•-+. m-�_1��•1 � 1882 ,�1982� .

m which quantities and spot and SOURCE.: INDEPENDENT CHEMICAL 1NFOAM4TION SERVICES LTD.

8 I.P SHARP NEWSLETTER ••••••••••••••• ••••••••••••

Volume JO/Number 6

November/December 1982 I. P. SharpAssociates NEWSLETTER 41

Searching, Part IV

Robert Metzger, Rochester

This article on searching files is continued from V RECORDS+KEY FILESEARCH4 CONTROL Technical Supplement 40. ;TIE;COMPONENT;BLOCK;FIELD [1] TIE�ONTROL[1] [2] FIEL�ONTROL[2] Directory search of a sorted file [3] RECORDS+ 0 0 pO [4] COMPONENT+((KEY�INDEX[;1]) The techniques presented so far actually require AKEY�INDEX[;2])/11tpINDEX searching the file to find the record. The re­ [5] +(0=pCOMPONENT)pEXIT maining methods reduce the work required to [6] BLOCK+[JREAD TIE,COMPONENT find a record by doing the searching in the ac­ [7] RECORDS+(BLOCK[;FIELD]=KEY)fBLOCK tive workspace. [8] EXIT: V It would be convenient if we could look up the record we want in some sort of directory or When should you use a directory search like index. One common type of directory keeps a this? You must be able to keep the records sort­ separate entry for each distinct key. If the ed on the field represented by the directory. You records all have unique keys, however, the di­ must also build the directory when the file is rectory would have as many entries as records. created, and maintain it as records are added or This is usually impractical in an application deleted. If this is possible, this approach can be which has lots of records. very effective. If we sort the file, we can use another type of directory. In this directory we keep a record Sequential search of a buffered file of the lowest and highest keys which occur in each component. Thus we will have two num­ So far, we have looked at techniques which bers per file component in our directory. This store all of the records in the file. The next should fit in the workspace easily. technique stores duplicate copies of certain The following function implements this ap­ records in the active workspace. proach. If you keep the directory resident in the A buffer is an area which separates two re­ active workspace, the only file reads done will gions. When we buffer input or output in a be those that actually retrieve the data you computer program, we store data in a tempor­ want. ary location which is neither its source nor its destination. When we buffer records from a file, we store them in a global variable in the work­ space.

G) @ •••••••• tL - ABC - >PET< PA03630-Y660 [D] SEARCHING

The records which are buffered are those The method is called "hashing" because files which have been used most recently. If these set up this way are neither in sorted order nor records are used more than once, the file is not in random order, but rather scrambled in a very searched because they are already in the work­ special way. The basic idea is to find a calcula­ space. The assumption is that those records tion which can be performed on the key to which have been used before are the most likely produce the appropriate component number. to be used again soon. Since there is only so There are a number of constraints on choos­ much space in the workspace, the number of ing the calculation. It must be simple, so that it such records must be limited. is less expensive than the other methods. It The following function implements this tech­ must also distribute the keys relatively uniform­ nique. Two types of enhancements could be ly. made to it. First, it is only buffering reads. If Once the algorithm for calculating the location records are to be modified, these too can be has been selected, some other design choices buffered. If multiple users can simultaneously must be made. The maximum number of update the file, such buffering becomes more records per component must be high enough to complicated. Second, more sophisticated means make overflow infrequent. In addition, a method can be used to determine which records to keep must be chosen to handle overflow when it does in the workspace. One method would keep a occur. reference count for each record in the buffer. The algorithm most often chosen for hashing When the buffer gets full, the records with the is to take the remainder after dividing the key lowest reference counts would be removed from by a prime number. (Chapter 21 of Computer the buffer. The reference count might then be Data Base Organization by James Martin ex­ set back to 0. plains other hashing algorithms, and how their V RECORDS+KEY FILESEARCH5 CONTROL performance compares to this one.) In APL, this ;FIELD;TIE algorithm is simply 1 +HASHNUMBER I KEY. [1] TIE�ONTROL[1] The function listed below implements this [2] FIEL�ONTROL[2] type of search. Note that it presumes the exis­ [3] RECORDS+ 0 0 p0 tence of two global varia�:es: HASHNUM and [4] ➔(~KEYEEUFFER[;FIELD])pNOTINWS MAXRECORDS. The file must start with HASHNUM [5] RECORDS+(EUFFER[;FIELD]=KEY) components. When a block has MAXRECORDS fEUFFER records in it, any extra records which have keys [6] ➔EXIT which hash to this location will be stored se­ [7] NOTINWS:RECORDS+KEY FILESEARCH1 quentially in the components following HASHNUM. CONTROL [8] EUFFER+RECORDS,[1] BUFFER V RECORDS+KEY FILESEARCH6 CONTROL [9] EUFFER+((MAXBUFFERSIZEL ;TIE;FIELD;BLOCK;CTR;LMT 1tpEUFFER),-1tpEUFFER)tEUFFER [1] TIE�ONTROL[1] [10] EXIT: V [2] FIEL�ONTROL[2] [3] RECORDS+ 0 0 p0 When should you use a buffered approach to [4] BLOCK+-QREAD TIE,l+HASHNUMIKEY file searching? If a relatively small number of [5] ➔(~KEYEBLOCK[;FIELD])pOVERFLOW records gets most of the usage, it can be a very [6] RECORDS+(BLOCK[;FIELD]=KEY)fBLOCK effective way of minimizing file searching costs. [7] ➔EXIT [8] OVERFLOW:➔(MAXRECORDS>ltpBLOCK)pEXIT Algorithmic search of a hashed file [9] CTR+HASHNUM [10] LMT+-1+1t1}□SIZE TIE The final search method really doesn't involve [11] LOOP:CTR�TR+l searching at all. It computes the component [12] ➔(LMT

T2 I.P SHARP NEWSLETTER ■■■■■■■■■■■■■■■■■■• ■■■■■■■■

SEARCHING JOINT REPRESENTATION

Joint Re resentation When should you use hashing to locate p records? You must be able to find an algorithm Uust a hash number, if you use the residue ap­ proach) which distributes the keys relatively uni­ Robert Bernecky, Toronto formly over the component numbers. If you don't, the application will be slowed down by excessive sequential searching of the overflow One problem encountered by APL users is areas. You must have a relatively even distribu­ WS FULL at function call time. Well-designed tion of records over keys, if it is possible for systems using defined functions with formal ar­ more than one record to have the same key. guments were especially susceptible to this, as Otherwise, you may suffer from WS FULLs. You application size grew faster than workspace size. must have a relatively stable number of records. Circumvention of the problem drove users to If not, you may incur excessive costs due to fre­ such drastic measures as passing globals to func­ quent file reorganizations. If your data meets tions, or avoiding the use of a function altogeth­ these requirements, hashing can be a very er. Such techniques complicate system mainte­ efficient means of accessing data stored on file. nance and invite insidious bugs. The November 1982 release of SHARP APL Comparing approaches alleviates this problem, provides substantial stor­ age and processor time improvements for en­ A few general comparisons may be helpful. The closed arrays, and provides a number of other directory and hashed approaches require a deter­ performance enhancements by the introduction of mination of what field can be searched when a scheme for workspace storage management the file is designed. The inverted and binary called joint representation. search approaches require substantial effort to Joint representation is essentially the "slack organize the file. The sequential and buffered representation" technique described in "Repre­ approaches require neither prior determination sentations for Enclosed Arrays" [ 1], applied to of search fields nor substantial preparation of all arrays, simple as well as enclosed, in the the file, but they are only effective under certain workspace. Joint representation allows multiple special usage patterns. When you design a file, references to the same value array. A reference you must take all these factors into account. count associated with each value is used to indi­ Entire books have been written about file cate when an array may be discarded. The searching. What we have done here is present a sharing is totally controlled by the APL inter­ sampler of ideas and algorithms. We hope that preter, and the user need not be cognizant of its you can use them to meet your file searching existence. Multiple references may occur for sev­ needs in APL applications. If you need these eral reasons: programs in your applications, you can find them in workspace 777 SEARCHING. • Assignment • Function call Acknowledgements: My thanks to J. Henri • Primitive function identities Schueler for his assistance in preparing this ar­ • As a side effect of the enclose function ticle. Assignment

Previously, X+-Y+-l5 would have created two cop­ ies of the array l 5, assigning one copy to X, and one copy to Y. The requirement for sepa­ rate copies used workspace storage and processor time directly proportional to the amount of stor­ age occupied by the right argument. With joint representation, only one copy of the array l 5 would be created, and its value would be shared by both X and Y. Clearly, an indexed assign­ ment into X or Y still has to make a copy, so

T3 NOV/DEC 1982-VOL. 10 NO. 6

G) @ ••••••••1 ti ABC - >PET< PA03630-Y660 - JOINT REPRESENTATION that the other variable doesn't change value. An )CLEAR interesting example of joint representation is Z+-A+-250000p□AV that two variables may have their values ex­ □WA changed without WS FULL, in fixed time, re­ 51460 gardless of the size of the variable, with no data B+-A movement: □WA 51472 X+-(L.4x□WA)p'X' Y+-(pX)p 'Y' The growth in □WA is due to the difference in T+-X ◊ X+-Y ◊ Y+-T length of the previous immediate execution lines, which are preserved in the workspace for recall Function call by the line editor. The following examples are all nilpotent, in that the explicit result of the Function call is similar to assignment, in that a function is one of the arguments: formal parameter is assigned the same value as the corresponding function argument. As with C+-,B assignment, this previously took time and space lfi-(pC)pB proportional to the size of the argument(s). E+-(pD)tC With joint representation, the time and space F+-0iE requirements are small and independent of the G+-G to write defined functions which don't depend I+-1\H on global variables or side effects, and which J+-((pH)p1)/J won't stop working when the application grows K+-J[ J in size. Joint representation should encourage L+-K,1 O the use of modular code and functions which M+-' ',L may be used freely as building blocks for new N+-wM applications. O+->N

'ii R+-RECURSE w Clearly, some of the above examples are rare­ [1] R+-1+RECURSE w ly encountered, and of little practical use. How­ 'i/ 1 1 ever, they are usually detected in the normal OTRAP+- /1 E ➔R+-0 A MAXIMUM RECURSION DEPTH. RECURSE 100000p0AV course of conformability checking, and do not 3842 measurably impact the performance of the inter­ preter.

Primitive function identities Enclosed arrays

Many primitive functions have special cases Joint representation also has been applied to en­ which produce an unaltered copy of the right or closed arrays, replacing the coadunate represen­ left argument as the result. Some of these may tation strategy previously used. The result is a be easily detected in the course of execution significant reduction in processor time and stor­ (e.g. ravel of a vector). Others are more difficult age costs associated with the use of enclosed ar­ or impractical to detect, such as: rays. In particular, the cost of creation of en­ closed arrays, or of materializing them in the X[ 4 ]+-X[4] workspace via such methods as [!READ, □PDEF, or shared variable reference has been drastically SHARP APL detects certain identities, and reduced. Joint representation, combined with the returns a reference to the argument value as the optimization of the composition operators also result, instead of making a copy of the argu­ appearing in the November 1982 release of ment. Since the argument isn't physically copied SHARP APL, has resulted in cost savings of 15 to produce the result, the time and space re­ to 40 per cent for some systems which rely quirements are independent of the argument heavily on the use of enclosed arrays. size: Joint representation also lets enclosed arrays

T4 I.P SHARP NEWSLETTER ■■■■■■■■■■■■■•■■■■■■■■■■■■■

JOINT REPRESENTATION QUAD EC

share values with non-enclosed arrays, by allow­ New System Variable ing both enclosed and non-enclosed values to re­ fer to the same array: Leslie Goldsmith, Toronto P+-

Since the enclosed value is a reference, so is A new system variable, □EC (Environment Con­ the result of disclose, if the array being disclosed dition), has been added to the SHARP APL 1s a scalar: system. □EC is designed to simplify the writing of secure or sensitive programs in SHARP APL Q+->P by enabling a program to react, exactly as a primitive function would, if an error or an Anomalies corrected asynchronous event (such as ATTN) occurred within it. By stacking references to variables at the time □EC is a Boolean system shared variable. The they are encountered by the syntax analyzer, global default of the variable is 0. When local­ joint representation removes the anomalies which ized, □EC assumes an initial value of 1. Assign­ were observable when the variable name was ing an improper value to □EC always effects the stacked instead: default setting 0. In the absence of event traps to handle errors (A+2)+A+5 A RESULT IN PREVIOUS RELEASES WAS 4 7 and other events, the effect of □EC is as follows. A When the variable is everywhere O on the state 2 indicator (SI) stack, the system takes its stan­ (0EX'A')+A+5 A WAS NONCE ERROR 6 dard, default action when an event occurs. A When the variable is 1, that particular stack VALUE ERROR level, and those more local than it, are desig­ A I\ nated to be secure. Then the system takes the action listed below, depending on the actual A+2;A+5 A WAS 22 event: 25 A • Errors cause the stack to be cut back 2 one level, and the error to be signalled in the environment of the caller. If this environment Footnotes is also secure (that is, □EC is still 1), then the procedure is repeated. [ 1] Bernecky, Robert. "Representations for En­ • Single ATTN is ignored, but is left pend­ closed Arrays," APL 87 Conference Proceedings, ing. The ATTN will be honoured as soon as APL Quote Quad, Vol. 12, No. 1 (September possible after □EC reverts to a non-secure set­ 1981). ting. • Double ATTN (interrupt) and other asynchron­ ous events are treated as errors. • Stop control and return Lo immediate exe­ cution behave as in a non-secure environ­ ment. In other words, errors and interrupts are pas­ sed on to the most local level which does not have □EC set to 1. When an untrapped error or interrupt occurs, the user is never given control while there is a latent O value of □EC anywhere on the stack. Therefore, by localizing □EC and not redefining it anywhere within the body of the program, the program will behave exactly the way an APL primitive function would.

TS NOV/DEC 1982-VOL. 10 NO. 6

G) ® •••••••• 1 ti - ABC - ._-_-_--i >PET< PA03630-Y660 n QUAD EC

✓ Stop control is honoured even when DEC is on Because DEC assumes a fail-safe default when as a convenience and a debugging aid to the it is localized, no action on the user's part can programmer. Note that, as was previously the alter the author's intended program flow. Since case, stop (and trace) control may not be altered localization information is contained within the once a function is locked. static header of the function, the efficacy of the Because single ATTN is masked off by a se­ mechanism does not rely upon the dynamic exe­ cure setting of □EC, two ATTNS are required to cution of certain parts of the program. This is a terminate □DL while DEC is 1. □EC effectively fundamental distinction between the protection makes □DL behave as a primitive function in facilities provided by □EC and those provided by this case. □TRAP. The dynamic nature of □EC also permits it to Interaction of □EC and □TRAP be set based on the result of some expression. For example, the following statement will mark Event traps may be used in conjunction with se­ the environment safely conditioned only if the cure environments, so that a function can be user executing the program is in a list of trust­ made to behave as a primitive only if the event ed users: is not trapped. Where there is the possibility of interaction of □TRAP with □EC, the system pro­ [1] OEC+---(1p0AI)E 1618033 2718281 3141592 ceeds according to the following rules. When an DEC can be used more elaborately, to condi­ event occurs, the levels of the SI stack are ex­ tion critical sections of a program dynamically. amined, working from the most local level to Within a section where DEC is 1, the program the global one. At any level, if a value of will react like a primitive and weak ATTN will □TRAP which handles the event and is localized be ignored (unless it is trapped). At the comple­ at that level is found, then that trap is given tion of the section, setting □EC to O will turn control. If not, then if □EC is localized at that this behaviour off. For example: level, the setting of □EC is acted upon: a value of O has no effect, and the stack search contin­ ues. A value of 1 causes the behaviour described V TRANSMIT;lC;INP;TXT;[JEC;[)IO;[]TRAP (1) A LOGS A STATUS MESSAGE FOR PERUSAL BY THE above. These rules reduce to the simpler ones SYSTEM STFJIARD. given earlier if □TRAP does not come into play. (2) A THE SYSTEM FILE IS ASSUMED TO BE TIED TO THE GWBAL VARIABLE The system reverts to its default action if nei­ (3) A . ther □TRAP nor DEC at any level of the SI stack (4) A [5) A OTHER GLOBALS: V - CR; F - TAD acts upon a particular event. The nature of this [6] A search ensures that programs will continue to [7] [JEC+[JI0--0 A ENVIRONMENT REQUIRES NO SPECIAL CONDITIONING YET operate as they have in the past, even with the [8) 'TEXT:'◊ TXT+-'' A PREPARE FOR TEXT COLLECTION LOOP introduction of DEC. (9) MORE:+(' '"•=INP+-l'J}pDONE A STOP ON OR [10) TXT+-TXT,INP,CR◊+/./ORE A ACCUMULATE LAST INPUT LINE [11) DONE:0EC+1 A CRITICAL SECTION STARTS HERE•.• Using EC (12) []TRAP+'• 21 E LC+{]LC ◊ +FFULL' A TRAP FOR 'FILE FULL' □ (13) TXT+-'STATUS MESSAGE AS OF ',(TAD []TS},CR,CR,TXT [14) []FHOLD TIE A OBTAIN FILE INTERLOCK FOR COMING WRITES DEC now makes it possible for a program au­ (15) TXT OAPPEND TIE A APPEND STATUS REPORT TO SYSTEM FILE [16) (([]READ TIE,�[0](1p(]AI),lp[]RUNS) []REPLACE TIE,5 thor to ensure that a program has a chance to A AUGMENTDIRECTORY WITH OUR ACCOUNT NUMBER AND TASKID condition its environment (set event traps, origin, [17) []FHOLD ''◊'STATUS REPORT FILED' [18) +0 A RELEASE HOLD BEFORE RETURNING and so on) before any interruption can occur. [19) FFULL:(50000+lp2i[lSIZE TIE) []RESIZE TIE For example: [20) +LC A FILE FULL; RESIZEAND RETRY - V V PASSCHECK;OEC;□IO;OTRAP [1] □IO+O ◊ []TR.4P+'• 19 C +ACCERR O D EXIT o S' [2) +(pOTRAP)+O A EXIT IF OTRAP INVALID FOR SOME REASON [3] OEC-+-0 A ENVIRONMENT NOW SAFELY CONDITIONED [4] V

T6 l.P. SHARP NEWSLETTER ••••••••••••••• ••••••••••••

QUAD EC 7 WSSEARCH

Workspace of the Month This program files a status report entered by 7WSSEARCH the user, and also records some ancillary infor­ mation in a directory. Prior to the sensitive sec­ tion of code, TRANSMIT collects the message text Clement Kent, Toronto from the user. Since strict security is not the is­ sue in the program, it is unnecessary for this step to be performed in a secure environment, WSSEARCH joins the group of tools in library 7 and in fact preferable that it is not. If DEC for manipulating and documenting programs and were 1 during text collection, then any error or workspaces. WSSEARCH provides programs to interrupt (including a line drop) would cut back search some or all of the functions in a work­ the stack, thus losing any text the user had en­ space for specific strings, and to replace occur­ tered. On the other hand, this behaviour is very rences of those strings by new values. WSSEARCH desirable during the update section of programs accept a variety of "flags" to specify TRANSMIT, where permitting execution to be in­ special actions (return output as explicit result; terrupted and resumed would destroy the pro­ search comments, numeric vectors, quoted gram's file hold. Although one can sometimes strings, or strings following 1-; display messages handle the division of environments by placing about locked functions; and much more). critical sections in subroutines, there are often Programs in 7 WSSEARCH fall into two overriding reasons why a program must be self­ groups. Those prefaced by FN (FNFIND, contained. FNSHOW, FNRPLC, FNREPLACE) perform context­ free searches. Any occurrence of the string, Summary whether it be in a comment, quoted string or part of a variable name, will be located. Func­ DEC is a powerful, yet simple-to-use program­ tions prefaced by SE (e.g. SESHOW) search for ming facility, which complements the protection syntactic elements. Suppose, for example, you TRAP. features offered by □ DEC's fail-safe han­ wanted to see all instances of the variable A in dling of errors, and its ability to mask ATTN �y­ the function CAT below: namically, enormously simplify the task of writ­ ing secure software in SHARP APL. 'iJ R+-A CAT B [1] A ADD VECTOR BAS ROW TO MATRIX A [2] R+-(RtA),[OIO](-ltR+-(pA)I0,pB)tB+-,B 'iJ You could try to show them with FNSHOW:

'CAT' FNSHOW 1 A' SEARCHING 1 FUNCTION

'iJ R+-A CAT B (8 OCCURRENCES) 'ii R+-A CAT B I\ I\ [1] A ADD VECTOR BAS ROW TO MATRIX A I\ I\ I\ I\ [2] R+-(RtA),[□IO](-ltR+-(pA)I0,pB)tB+-,B I\ Or you could show only the occurrences of A as a syntactic element:

'CAT' SESHOW 'A' SEARCHING 1 FUNCTION

'iJ R+-A CAT B (3 OCCURRENCES) 'iJ R+-A CAT B I\ [2] R+-(RtA),[OIO](-ltR+-(pA)I0,pB)tB+-,B I\ I\ T7 NOV/DEC 1982-VOL. 10 NO. 6

G) @ @ ...... • w ABC ABC - - �----...... >PET< PA03630-Y660 7 WSSEARCH APL TREES

You can see from the examples that searching Drawing APL Trees: for A as a syntactic element yields only valid oc­ Answers to Brain-Teasers currences of the variable A, while the context­ free search finds all the occurrences of the letter A. Clement Kent, Toronto The right argument to WSSEARCH programs specifies the strings to be searched for, while the left argument names the functions (or variables) In the last Technical Supplement I posed to be searched. An empty left argument means several problems in my article "APL Trees". that the program is to search the entire work­ Here are the solutions. space. To do multiple simultaneous searches, The first problem concerned the size and join the disparate strings with the utility func­ shape of some dead stick trees. All these prob­ tion AND: lems can be solved if you use the formula for 'CA'l" SESHOW '□IO' AND 'f' AND ' 1' SEARCHING 1 FUNCTION the sum of a geometric series. For instance, I V R�A CA'I' 8 (3 OCCURRENCES) asked how you would prove that a tree with

[2] · R�(RtA).[□IO](-ltR�(pA)fO,pB)tB�,B basic branch 1 by 1 /3 units, and shrinking fac­ A A A tor 1/3, fits into a box 1.5 by 1 units. Well, An important feature of WSSEARCH gives you the series z+z/3+z/9+ .. . sums to 3z/2, so the ability to search for occurrences of "old" when z= 1 (abscissa) the box is 1.5 units, and strings and replace them by "new" strings in when z= 1/3, each half of the tree is 1/2 unit, one step. All replacements are done simulta­ so the whole tree is 1 unit thick. neously to avoid confusion: What's the total length of all the branches ? 'eCA'I'' SERPLC 'A'BY'B' AND '8'8Y'A' The basic branch has length Z+- J 1J+ 3, which AND 'CA'I''BY'ADD' Pythagoras tells us is (square root 10)/3. Each SEARCHING 1 FUNCTION 10 REPLACEMENTS MADE. time you go up one level in the tree, the num­ VADD[□]I/ ber of branches doubles but their length shrinks V R�B ADD A [1] A ADD VECTOR A AS ROW TO MA'I'RIX B by 1/3. So now the series is 2(z+2/3z+4/ [2] R�(RtB),[OIO](-ltR�(p8)10,pA)1A�,A 9z+ ... )= 6z. The total length is the square V root of 40. I tried to mislead some of you with You can change the name of the function just dark hints about twice pi, which at 6.28 is in­ like any other syntactic element. The variables A deed very close to the true length 6.32, but not and B have been switched properly, even in the the same. I asked how many levels up you comment. The comment flag R in the left argu­ would have to go before the length exceeded ment directed that all syntactic elements in the twice pi ... that's slightly harder, but still quite comment be searched as well. possible. The sum +/2xZx(2+3)*0,1N is All functions in 7 WSSEARCH are self­ 6xZx1-(2+3)*N+1. So a little algebra shows contained and you can copy them into your that N=r((®1-010*-+2)+®2+3)-1, which is 12. workspace. There are many other features docu­ Last but not least, I asked how you would mented on line in DESCRIBE, SUMMARY, find the angles made by tangents to a logspiral HOWFIND, HOWSHOW, HOWRPLC, and branch. The equation for the spiral as a func­ HOWREPLACE. tion of time T was B+-*wxT where w was a You can use WSSEARCH to edit functions or complex number combining the shrinkage and their character vector representations. (A more rotation rates for the spiral. Now, if you're a interactive function editor is found in 7 FNED.) calculus fan, you saved yourself a lot of time You can produce a cross-reference listing which and agony because you remembered (didn't finds any set of strings in any set of functions you?) that the derivative of an exponential is: (including or excluding comments or quoted DB+-wxB. strings, using syntactic or context-free searching) We can normalize DB so each of its using SEFIND or FNFIND. This supplements the members has magnitude 1 by doing DB+-xDB. workspace cross-reference facilities of 7 XREF. We can now translate B to the origin WSSEARCH was designed and implemented by (B+-B-B[1]), rotate it "Aat" against the real axis Leslie H. Goldsmith, and is an I.P. Sharp pro­ (B+-B+ DB[ 1 J) and the end will make an angle prietary software product. ANG+-120 DB[pDB]+DB[1].

T8 J.P SHARP NEWSLETTER ■■■■■■■■■■■■■■■■• ■■■■■■■■■■

DATABASES

CHANGES

Nelly Delre, Paris

Daily buying and selling rates, in The following table shows the 1981 and 1982. A graphic summa­ French centimes (1/100 of a minimum buying and maximum ry of monthly averages of fixing ), for 21 are now selling rates for the U.S. , rates for the U.S. dollar is shown available in the Currency Ex­ Deutsche Mark, and in the SuPERPLOT for the period change Rates (CURRENCY) data for the first quarters of 1981 and January 1980 to August 1982. base. The Banque Fran�aise du 1982, and the second quarters of Commerce Exterieur (B.F.C.E.) updates the rates at approximately 17:00 UTC on the day of report­ )LOAD 772 CHANGES ing. Historic data going back to SAVED 9.01.52 10/25/82 SOURCE :BANQUE FRANCAISE DU COMMERCE EXTERIEUR 1961 was supplied by the DONNEES DISPONIBLES DEPUIS JANVIER 1961 B.F.C.E. DONNEES VALIDEES A PARTIR DE JANVIER 1973 To help users access the infor- DONNEES POUR 1 UNITE EN mation on the official Paris mar­ CODES DES DEVISES (OU AIDE )? :USD DEM JPY INFORMATION SOUHAITEE (OU AIDE)? :AMINVMAXT ket, an interactive retrieval system, CODES TAB ET/OU GRA (OU AIDE) ?:TAB with prompts in French, is availa­ DATES (OU AIDE)? :181 182 281 282 ble in the workspace 772 CHANGES. Companies involved MARCHE OFFICIEL DES CHANGES DE PARIS with accounting, fiscal and customs MINIMUM ACHAT - MAXIMUM VENTE -TRIMESTRIELS declarations, market studies and so ------forth, with other countries, will ------lTRI/81 ------lTRI/82 2TRI/81 2TRI/82 find CHANGES extremely useful in DOLLAR ETATS-UNIS MINA 4.465500 5.653000 4.944000 5.945500 determining foreign exchange rates. MAXV 5.212400 6.290500 5.754500 6.924500 CHANGES processes the buying, DEUTSCHE MARK MINA 2.300400 2.529900 2.353100 2.591700 selling, and fixing daily rates on a MAXV 2.362700 2.623400 2.412200 2.780700 monthly, quarterly, semiannual, or + YEN JAPON MINA 2.235000 2.523500 2.324700 2.485200 MAXV 2.495600 2.616800 2.562100 2.696800 yearly basis. The rates can be cal­ ------culated on the average, or mini­ + EN CENTIMES mum or maximum value. The nearest daily rates, for example, MARCHE OFFICIEL DES CHANGES OE PARIS for weekends, holidays, and the MOVENNES MENSUELLES MOIS last day of the month are also JAN/BO JUL/BO JAN/Bi JUL/81 JAN/82 JUL/82 available. 7.5000 7 .5000 DOLLAR ETATS-UNIS The prompts are formulated for 7. 0000 7 .0000 the currencies with a three-letter 8.5000 code, in accordance with the B.5000

French standard (AFNOR K 10- F F I 8.0000 B.0000 I 020) and the International Stan­ X X I I (ISO N N dards Organization 4217). 5.5000 5.5000 G G You can obtain the information as a table or graph. The graphs are 5.0000 5.0000 plotted with SuPERPLOT. Dates or 4 .5000 periods may be continuous or dis­ 4.5000

continuous. 4.0000 4. 0000 JAN/BO JlA../80 JAN/Bi JUL/Bi JAN/82 JUL/B2 For more information and for MOIS the brochure on CHANGES, contact SOURCE: BANQUE FRANCAISE OU COMMERCE EXTERIEUR the I.P. Sharp office in Paris. 9 NOV/DEC 1982-VOL. JO NO. 6

G) @ ...... � ABC - >PET< PA03630-Y660 [D APL

APL Terminology

Kenneth E. Iverson

I have taken your advice and In taxonomy it is not nearly so The concept of an operator the names, and use anode, important that a name be perti­ (which applies to a function or cathode, anions, cations, and nent or even well chosen as that functions to produce a derived ions; the last I shall have but it be stable. function, as in +/ or +. x) was at little occasion for. I had some the outset not recognized in APL, hot objections made to them Jordan adds an acerbic comment and the term was first used in the on Linnaeus and the failing of his here, and found myself very APLSV manual [4] in 1975. Al­ followers which is worth keeping much in the condition of the though the distinction between a in mind: man with his Son and Ass, who function and an operator is impor­ tried to please every body ... In changing his own established tant in APL, speakers still fre­ names, the father of classification quently fail to make it, although Michael Faraday [1] set a bad example to his succes­ writers seem at last to be observ­ sors, one which they did not fail ing it fairly consistently. The many APL technical terms, to follow. Although the term was adopted coined in English, require the from mathematics (essentially in choice of corresponding terms Finally, R.W. Brown, in The the sense in which Heaviside when writing in, or translating to, Composition of Scientific Words defined it), its adoption in APL other languages. Feeling that [3], comments on the complementa­ has probably been retarded by the uniformity in these choices could ry need for consistency, and the more familiar use of it in elemen­ be promoted by public discussion price of achieving it: tary mathematics and in program­ of the matter, Paul Berry ming languages as a synonym for suggested that the topic be If stability is to be expected, con­ function. If the precise usage of broached in a session of the recent sistency must be the watchword. the term prevails in APL, it may Heidelberg conference. For the two are complementary; but harmonious consistency can­ eventually persuade mathematics Professor J anko invited me to teachers to use the term function open the discussion with a talk on not be achieved without tempor­ for the elementary functions such the considerations that have guided ary confusion and inconvenience. as addition and multiplication, so the choice of the terms in English. that the notion of function as in­ The interest in the topic expressed Stability troduced later will no longer ap­ at the conference has persuaded pear foreign or unfamiliar. me to prepare a written version, Some appreciation of the difficulty and to seize this early opportunity of achieving stability in terminolo­ To proceed with the question of to publish it. gy may be gained by comparing stability-survival of a word is the large number of new words much like survival in politics-it Taxonomy that are introduced into any natu­ depends on having the right con­ ral language each year, with the nections, and many of them. ("I The term taxonomy is commonly small number that remain in use have friends I haven't even used used for the classification and for long periods. If we are to aim yet.") In the case of words, the naming problems faced in such at stability, it will help to examine connections are to similar words disciplines as geology and biology. the factors which appear to con­ having related meanings or conno­ Although the naming problems in tribute to longevity in words. tations; in the broad meaning of APL are trivial by comparison, it First, however, we will use an ex­ the term, they are puns. can prove fruitful to seek guidance ample from APL to illustrate the Puns, both verbal and visual, from taxonomists in these more difficulty of gaining acceptance for both good and bad, have been difficult disciplines. Thus, D.S. a new term, and even for gaining widely and consciously used in Jordan [2] states the main reason recognition of the concept that it APL. For example, the use of the for care in terms: embodies. circle (o) for the circular function

10 l.P SHARP NEWSLETTER APL

is a verbal pun, and the use of OD illustrated by a completely rootless seem preferable to follow the ex­ for the circumference of a circle of coinage that once enjoyed some ample of mathematicians in adopt­ diameter D is a graphic pun (Al­ currency in APL circles. ing the same symbols internation­ though, as Dr. Benkard pointed In the expression A*B the func­ ally, but (usually) translating the out at Heidelberg, it is also a ver­ tion * is dyadic, and in *B it is words for the functions they repre­ bal pun because the symbol looks monadic; to denote the characteris­ sent. like a pie.) tic in which these two uses of the There is a second tendency The symbol @ for the log func­ function differ, the term "adicity" which should be noted, the adop­ tion has sometimes been justified was used. The word is made up tion of terms current in the com­ by its similarity to the appearance of three parts: ad (towards), ic puter literature; for example, the of the end of a log, a justification (pertaining to), and ity (quality); use of the German computer term that should qualify it as a bad all are prefixes or suffixes, and "datenobjekt" as a translation of pun. The symbol can also be jus­ not one of them is a root. "array". Although the designers of tified by a pun which is neither Although coined words may not APL have always been aware of graphic nor verbal, but a pun in be found in a dictionary, nearby computer termi1;10logy, few, if any, APL; @ is justified by its relation words often provide good clues to computer terms have been adopted, to *, the symbol for the function the intended meaning. Because for the simple reason that they inverse to logarithm. "adicity" contains no root, the use have appeared to be irrelevant or If we accept the idea that good of a dictionary will be fruitless, ill-considered. connections (i.e. multiple supports) leading only to neighbouring words After emphasizing the impor­ contribute to the survival of any such as "adieu", and "adiabatic". tance of puns, it is appropriate to new term, what general guides However, even a bad coinage may comment on the extreme difficulty should one follow? In APL I draw attention to the need for a of preserving their effect in trans­ know of two that have been con­ term; thus the use of "adicity" lation, and to urge, by means of sciously (and rather conscientious­ drove Adin Falkoff to dip into his an example, the marvellous effects ly) followed: adoption of existing background in chemistry to pro­ that can be achieved by loving terms (from other disciplines as pose the term valence, now com­ care. The example is one of many well as from ordinary English), monly used. that can be found in an amusing and examination of the etymology One further guide has been fol­ and interesting book by Victor of proposed terms. lowed in the choice of APL terms, Proetz [ 6] on the translation of The adoption of existing terms namely, brevity. Examples include poetry. It concerns the translation is illustrated by the following list: the choice of shape over "dimen­ of the pun on axis and axes found sion", rank over "dimensionality", in the following passage from Mathematics : array, function, and catenate over "concatenate". Lewis Carroll's Alice in Wonder­ axis, operator land: Chemistry : valence Translation questions Psychology : ambivalence "You see the earth takes twenty­ Ecology : dine (used by Orth In choosing APL terms, the prin­ four hours to turn around on its [5]) ciples which apply in English axis- Other : quad, ravel, stile should apply equally in other lan­ guages. However, when the pri­ "Talking of axes," said the Examination of the etymology of mary literature is in one language, Duchess, "chop off her head." a term not only provides an esti­ there is a tendency (as exemplified mate of the variety and suitability by the international use of Italian of the connections it possesses, but phrases in music) to simply adopt often leads one to a better term. terms without translation. It would The importance of roots may be

11 NOV/DEC 1982-VOL.10 NO. 6 ■■■■■■■■■■■■■■■• ■■■■■■■■■■■

APL CUSTOMERAPPLICATION

APS A Planning System

Jody Davies, Sydney

In German the pun is easily gave me references to accounts of Jim Cobb, the managing director preserved: Whewell's contributions to scien­ of AIWA , was looking tific terminology [1], from which I for more than automated account­ "Was, du redest van Axt ) " took the epigraph used here, and ing packages to manage the com­ fragte die Herzogin. "Hau ihr Dr. D. Hirshberg of IBM Brus­ pany efficiently. AIWA imports den Kopf ab.I" sels gave me the following two­ stereo systems and distributes them language aphorism: to retail stores and outlets in Aus­ In French, the pun is pre­ tralia. served, in Proetz's words, Is life worth living.) It depends Cobb came to I.P. Sharp to find " ...with a stroke of wizardry on the liver! a management tool, a system that and judgement which, in this would allow him to forecast accu­ instance, is not translation by La vie, vaut-il vivre? C'est une rately and simply with the control word, but by change of question de Joie! and flexibility he required. This word ... ": was the impetus for developing APS (A Planning System) written " ... la terre met vingt-quatre by I.P. Sharp Australia. APS heures a faire sa r�volution." References helps in the planning and control of an organization. APS incorpo­ "Ah! vous parlez de faire des 1. Todhunter, I. William Whewell, rates a data storage and retrieval revolutions!" dit la Duchesse. D.D. - An Account of His system, a report writer, and a "Qu'on lui coupe la tete'" Writings, McMillan and Co., powerful, open-ended set of calcu­ London, 1876, page 89. lation routines. But most impor­ In presenting a German transla­ tantly, APS was developed with tion of Burns' To a Mouse (with 2. Jordan, David Starr. Guide to the specific needs of a user in correspondents such as Mousie - the Study of Fishes, 1905, cited mind. The writing of each step re­ Mauschen, beastie - Tierchen, and in [3], page 57. quired a working relationship be­ housie - Hauschen), Proetz says tween a customer willing to be­ that "The Scottish language is 3. Brown, Roland Wilbur. come involved and an I.P. Sharp perfect for addressing small chil­ Composition of Scientific Words, representative. In this case, Paul dren and animals. German is next published by the author, Reese Phillips of I.P. Sharp was an es­ because in German diminutives are Press, Baltimore, Md., 1956, sential ingredient in the creation of familiar and homely and in every­ page 57. this effective package. day use." Perhaps translations to "I cannot recommend the system these languages can satisfy both 4. APL Language, IBM GC26- highly enough," Jim Cobb says, the proponents and opponents of 3847-4, 1978. since with APS he can do sales APL, the former because they and product forecasting and easily know that the simplicity of APL 5. Orth, D. Calculus in a New compare actual figures to predic­ makes it fit for children, and the Key, APL Press, Palo Alto, tions. When sales for an AIW A latter because they know that APL Ca., 1976. stereo system fell below forecasted is fit only for animals! figures in April of this year, The question of terminology (or 6. Proetz, Victor. The Astonish­ AIWA had to determine an opti­ at least of puns) does appear to ment of Words, University of mal reduced price for the product have a wide appeal, for I received Texas Press, Austin, Texas, that would encourage volume sales. many immediate comments and 1971. Then the company promoted spe­ suggestions. In particular, Mr. cial discounts for volume packages. A.D. Cunningham of Of course, the resulting question

12 I.P SHARP NEWSLETTER

G) @ •••••••• 1 ti - ABC >PET< PA03630-Y660 a CUSTOMER APPLICATION BULLETIN BOARD

was how would the discount price Atlanta Rochester affect the bottom line. What would be the total effect on unit volume, Ken Bell is the new branch man­ Robert Campbell joined I.P. sales , and gross profit? ager in Atlanta. He holds Master's Sharp Associates as marketing APS makes it easy to monitor degrees in communication from the manager in Rochester. He gradu­ these changes, and thus provides University of Northern Colorado ated from Cornell University with control to management. and in international relations from a B.S. in marketing economics. He In more general terms APS was Boston University. Before joining has considerable marketing experi­ also designed for requirements LP. Sharp Associates, he worked ence garnered from his twelve-year such as: as a Russian linguist in Berlin. association with the Eastman Ko­ Prior to his appointment as dak Company where he started in • The evaluation of alternate branch manager, Ken was a mar­ direct sales in New York City in business strateg�es keting representative in the Dallas both the financial and commercial • Internal analysis of corporate office. markets. operations to determine product In his new position with LP. mix, manufacture vs purchase, Houston Sharp, Bob is involved with mar­ lease vs buy, and similar policy keting new data products for cus­ decisions Lowell Freidman has been ap­ tomers needing corporate financial • Investment and cash flow pointed manager of the Houston data (Form 10-K), and securities analysis and projection office. He graduated from Syracuse data from major and regional ex­ • Project evaluation and risk University with Bachelor of Sci­ changes. analysis ence degrees in industrial engi­ • Financial planning and bud­ neering and in operations research Gerald Wisz is the senior systems getary control in constantly and with an M.B.A. in finance. consultant for decision support and changing environments. Lowell previously worked as a financial services for the Rochester financial consultant and program­ region. He holds a Ph.D. from the mer with Time Sharing Resources, Johns Hopkins University in oper­ and as an APL consultant in LP. ations research and econometrics. Sharp's Houston office. He then As a captain stationed in the left LP. Sharp to assume the posi­ Pentagon, he applied military op­ tion of manager of courier services erations research techniques. He at Northern Messenger and re­ then headed up a new operations turned to I.P. Sharp in 1981. research department for Marine Midland , Inc. While with Marine Midland, he held various management positions and became a vice-president. Since joining I.P. Sharp, Jerry's main emphasis has been in the banking and financial sectors. His responsibilities to these sectors in­ clude introducing our products and services, consulting, participating in project teams, and giving seminars. Ken Bell Lowell Freidman Robert Campbell Gerald Wisz Marguerite Boisvert Janet Cramer

13 NOV/DEC 1982-VOL.10 NO. 6 •••••••••••••••••••••••••••

BULLETIN BOARD PUBLICATIONS

Book Ends

Grant Clarke, Toronto

Washington New publications from the major world currencies on various Applications Software group: foreign exchange markets. Janet Cramer is the new branch July 7982, 24 pp., $3.00 manager in Washington, D.C. She XTABS User's Guide (new) has a B.A. in mathematics and Australian Exchange physics from Smith College and an XTABS is a software product de­ Indices Data Base Manual (new) M.Sc. in operations research from signed to accommodate researchers Columbia University. in interpreting survey data. See The AUST0CK data base contains Janet first joined I.P. Sharp in the article "Crosstabulations with daily price and accumulation indi­ 1972, in Toronto, as a computer XTABs" in this issue. ces of the Australian Stock Ex­ operator, and then APL program­ October 7982, 700 pp., $7.00 changes. mer. She returned to I.P. Sharp July 7982, 78 pp., $3.00 for one summer to develop an in­ There are also several new or ventory system for Massey­ revised software package brochures OECD Data Base Manual (new) Ferguson. Not able to stay away free of charge. The Applications from the company, she returned in Software brochure describes the The Organization for Economic 1981 to work in Washington on wide and ever-growing range of Co-operation and Development, an interactive computer-aided crew applications software products based in Paris, is a valuable scheduling system, as well as nu­ available on the I.P. Sharp system. source of international business merous small systems using public Other recent brochures include: and industrial information. The data bases. EASY-Econometric Analysis 0ECD data base contains statistics During her hiatus from I.P. System; Lease Evaluation on major economic indicators for Sharp, she was with Bell Labora­ System; SUPERPLOT; and the 25 individual OECD countries. tories in the data network analysis Human Resources System. July 7982, 57 pp., $5.00 department. New Data Bases publications: NPA Data Base Manual (new) Wayne The National Planning Association (NPADEMOG, NPAEco) data base Marguerite Boisvert is the man­ Sixth Annual Aviation Conference Proceedings (new) contains economic and demograph­ ager of the newly established ic information about the United branch in Wayne, New . States, and covers more than 3 600 She holds a B.S. in chemistry In May 1982, I.P. Sharp Associ­ ates hosted its sixth annual Avia­ separate geographic areas. from the University of Massachu­ September 7982, 63 pp., $6.00 setts and a Ph.D. in chemistry tion Conference in New York from Syracuse University. City. Twelve papers were present­ ed; these have been bound and Canadian Bonds Data Base Before joining I.P. Sharp, Mar­ Manual (new) guerite was a programmer/analyst will be available for a limited time. in the technical systems group at The Canadian Bonds ( CDNBOND) August 7982, 720 pp., $5.00 American Can Company and at data base comprises weekly price Syracuse University Academic and yield statistics for approxi­ Currency Exchange Rates Data Computing Center. While at Syra­ mately 1 150 Canadian bonds, Base Manual (revised) cuse, she was also an adjunct pro­ grouped by type of issuer. Infor- fessor in the School of Manage­ � The Currency Exchange Rates mation for each includes bid, ment. (cuRRENCY) data base is a collec­ ask, yield, maturity date, coupon, tion of daily exchange rates for and any privileges available. September 7982, 36 pp., $4.00

14 I.P SHARP NEWSLETTER

CD @ •••••••• 1 ti ABC --- >PET< PA03630-Y660 a PUBLICATIONS NETWORK NEWS

New Dial Access Numbers

Financial and Economic Data Cincinnati Spokane Bases Reference Guide (new) 30 cps 513 421-7654 120 cps 509 747-0527 I.P. Sharp Associates provides more than eighty public data bases Copenhagen Warrington to our customers. Thirty or so can be classed as financial, and anoth­ 120 cps 01 118239 120 cps 0925 54376 er twenty or so as economic. These have now been compiled in Helsinki Winnipeg a handy pocket-sized reference guide. For each data base, the ref­ 120 cps 90 6948144 120 cps 204 957-1562 erence guide tells you what the data base is, its frequency (daily, Pompano Beach weekly, monthly), and its time­ frame (i.e. for what years data is 30 cps 305 941-2501 available). The guide also shows you, for each data base, how to ' select data items and produce re­ ports. September 7982, 728 pp., $3.00

MAILING REQUEST

□ Please amend my mailing address as indicated. Name: Please add the following name(s) to your Newsletter □ Title: mailing list. □ Please send me a Publications Order Form. Company: □ Please add my name to the Aviation Newsletter mailing list. Address: □ Please add my name to the Energy Newsletter mailing list. □ Please add my name to the Financial and Economic Newsletter mailing list. □ Please add my name to the Promis Newsletter mailing list. □ Please send me information about your courses in

(City) ______Telephone:

The Newsletter is a regular publication of I.P. Sharp Associates. Contributions and comments are welcome and should be addressed to: I.P. Sharp Newsletter, Suite 1900, 2 First Canadian Place, Toronto, M5X 1 E3. Irene Shimoda, Editor Printed in Canada Mary Kopfensteiner, Circulation November 1982 ISSN 0226 854X

15 NOV/DEC 1982-VOL. 10 NO. 6 I.P. Sharp Associates International Headquarters Suite 1900, 2 First Canadian Place, Toronto, Canada M5X 1E3 (416) 364-5361 International Offices Aberdeen Dublin City Rochester Tokyo 1.P. Sharp Associates Limited I.P. Sharp Associates Limited Teleinformatica de Mexico S.A. ( Headquarters) INTEC, Inc. (Agent) 5 Bon Accord Crescent Segrave House (Agent) Mail to: I.P. Sharp Associates, Inc. 37-18,3-Chome, Halagaya Aberdeen AB1 2DH Earlsfort Terrace Arenal N 40, Chimalistac 1200 First Federal Plaza Shibuya-ku, Tokyo 151 Dublin 2,Ireland Mexico 20 D.F.. Mexico Rochester. N.Y. 14614 (0224) 25298 (01) 763605 (905) 550-8033 (716) 546-7270 (03) 320-2020 Telex: 646318 Amsterdam Dusseldorf Miami Toronto lnterSystems BV 1.P. Sharp GmbH 1.P. Sharp Associates, Inc. Rome (International Headquarters) Kabelweg 47 Kaiserswertherstrasse 115 Suite 240 lnformatical Society Italia Sri 1.P. Sharp Associates Limited 1014 BA Amsterdam 4000 Dusseldorf 30 15327 N.W. 60th Avenue (Agent) Suite 1900 The Miami Lakes, Florida 33014 Piazza Della Rotonda 2 2 First Canadian Place (020) 86 80 11 (0211) 45 20 52 (305) 556-0577 00100 Rome, Toronto, Ontario Telex: 18795 ITS NL (06) 656-5925 M5X 1E3 Edmonton Milan (416) 364-5361 I.P. Sharp Associates Limited lnformatical Society Italia Sri San Francisco Atlanta Telex: 0622259 I.P. Sharp Associates, Inc. 2358 Principal Plaza (Agent) I.P. Sharp Associates, Inc. 1210 S. Omni International 10303 Jasper Avenue Via Eustachi 11 Suite C-415, 900 North Point St. Vancouver Atlanta, 30335 Edmonton, Alberta T5J 3N6 20129 Milan, Italy San Francisco, Ca. 94109 I.P. Sharp Associates Limited (404) 586-9600 (403) 428-6744 (02) 221612 (415) 673-4930 Suite 902, 700 West Pender St. San Jose Vancouver, B.C. V6C 1 GB Boston Halifax Montreal (604) 687-8991 I.P. Sharp Associates, Inc. I.P. Sharp Associates Limited I.P. Sharp Associates Limited I.P. Sharp Associates,Inc. 1 Liberty Square Suite 706, Cogswell Tower Suite 1610 Suite 212, 230 California Ave. Victoria Boston,Massachusetts 02109 2000 Barrington Street 555 Dorchester Boulevard W. Palo Alto, Ca. 94306 1.P. Sharp Associates Limited (617) 542-2313 Halifax, Nova Scotia Montreal, Quebec H2Z 181 (415) 327-1725 Chancery Court 83J 3K1 (514) 866-4981 1218 Langley Street Brussels Saskatoon (902) 423-6251 Victoria, B.C. VBW tW2 I.P. Sharp Europe SA New York I.P. Sharp Associates Limited (604) 388-6365 Boulevard de la Cambre 36, bte 5 Helsinki I.P. Sharp Associates, Inc. Suite 303, Financial Bldg. 1050 Bruxelles TMT -Team OY (Agent) Suite 210 230-22nd St. E.,Saskatoon Vienna Kalevankatu 33 A 230 Park Avenue Saskatchewan S7K 0E9 I.P. Sharp Ges.mbH (02) 649 99 77 P.O. Box 452 New York, N.Y. 10169 (306) 664-4480 Renngasse 4 (212) 557-7900 A-1010 Wien. SF-00101 Helsinki 10, Seattle Calgary (9) 0-6946344 (0222) 66 42 48 I.P. Sharp Associates Limited Newport Beach I.P. Sharp Associates, Inc. Suite 550, Bow Valley Square 4 I.P. Sharp Associates, Inc. Suite 223, Executive Plaza East Warrington 250-6th Ave. South West 1.P. Sharp Associates (HK) Limited Suite 1135 12835 Bellevue Redmond Road I.P. Sharp Associates Limited Calgary, Alberta T2P 3H7 Suite 606,Tower 1 610 Newport Center Drive Bellevue, Washington 98005 1-3 Dolmans Line (403) 265-7730 Admiralty Centre, Hong Kong Newport Beach,Ca. 92660 (206) 453-1661 Warrington, Cheshire WA 1 2ED 5-294341 (714) 644-5112 Seoul Canberra (0925) 50413/4 I.P. Sharp Associates Pty. Ltd. Houston Oslo Daewoo Corporation (Agent) 16 National Circuit I.P. Sharp Associates,Inc. 1.P. Sharp A/S 541,5-GA, Namdaemoon-Ro Washington Barton,A.C.T. 2600 Suite 375,One Corporate Square Postboks 486 Sentrum Jung-G (CPO Box 2810) I.P. Sharp Associates, Inc. Australia 2600 Southwest Freeway Dronningens gate 34 8269 Seoul,. Suite 305, 2033 K Street N.W. (062) 73-3700 Houston,Te xas 77098 Oslo 1, 771-91/2 Washington, D.C. 20006 (713) 526-5275 (02) 41 17 04 Telex: DAEWOO K23441-5 (202) 293-2915 Chicago 1.P. Sharp Associates, Inc. London,Canada Ottawa (Far East H.Q.) Wayne Suite 3860 I.P. Sharp Associates Limited I.P. Sharp Associates Limited I.P. Sharp Associates(S) Pie. Ltd. 1.P. Sharp Associates, Inc. 55 West Monroe Avenue Suite 510, 220 Dundas Street Suite 600, 265 Carling Ave. Suite 1003, PIL Building Suite 301 Chicago, Illinois 60603 London,Ontario N6A 1H3 Ottawa, Ontario K1S 2E1 140 Cecil Street 155 Willowbrook Road (312) 782-3177 (519) 434-2426 (613) 236-9942 Singapore 0106 Wayne, Ne"'( Jersey 07470 Republic of Singapore (201) pl5-8050 Copenhagen London, England Palo Alto 2210494 1.P. Sharp Associates, Inc. Whit'J Plains I.P. Sharp ApS (European Headquarters) Telex: RS 20597 IPSAS ©stergade 248 I.P. Sharp Associates Limited Suite 201,220 California Ave. 1.P. Sharp Associates, Inc. 1100 Copenhagen K 132 Buckingham Palace Road Palo Alto, Ca. 94306 Singapore Suite 312 West London SW1 W 9SA, England (415) 327-1700 Singapore International 701 Westchester Avenue Software Services Pte. Ltd. White Plains, New York 10604 (01) 11 24 34 (01) 730-4587 Paris Telex: 8954178 SHARP G Suite 1501, CPF Building (914) 328-8520 Coventry 1.P. Sharp SARL 79 Robinson Rd. 9 Rue de Cirque Winnipeg I.P. Sharp Associates Limited Los Angeles Singapore 0106 7th Floor B Block I.P. Sharp Associates, Inc. 75008 Paris-la-Defense 92086 1.P. Sharp Associates Limited Republic of Singapore Suite 208 Coventry Point, Market Way Suite 1230 2230211 Coventry CV1 1EA England 1801 Century Park East (1) 225 9820 213 Notre Dame Avenue (0203) 56562 Los Angeles, Ca. 90067 Stockholm Winnipeg, Manitoba R3B 1 N3 (213) 277-3878 Philadelphia I.P. Sharp AB (204) 947-1241 Dallas 1.P. Sharp Associates, Inc. Kungsgalan 65 I.P. Sharp Associates, Inc. Zurich Madrid Suite 604,437 Chestnut St. s111 22 Stockholm, Suite 1148, Campbell Center I.P. Sharp AG I.P. Sharp Associates Limited Philadelphia, Pa. 19106 (08) 21 10 19 8350 Northcentral Expressway Serrano 23, Pisa 8 (215) 925-8010 Fortunagasse 15 Dallas, Texas 75206 Madrid 1, Sydney (Australian H.O.) 8001 Zurich, (214) 369-1131 (91) 276 70 54 Phoenix I.P. Sharp Associates Ply. Ltd. (01) 211 84 24 I.P. Sharp Associates, Inc. 8th Floor, Carlton Centre Denver Melbourne Suite 503 55 Elizabeth St. I.P. Sharp Associates, Inc. I.P. Sharp Associates Pty. Ltd. 3033 N. Central Avenue Sydney, New South 2000 Suite 416 520 Collins St., 7th Floor Phoenix, Arizona 85012 Australia 5680 South Syracuse Circle Melbourne, Victoria (602) 264-6819 (02) 232-6366 Englewood, Colorado 80111 3000, Australia (303) 741-4404 (03) 614-1766 ------SHARP APL Communications Network·------APL OPERATOR VOICE (416) 363-2051 COMMUNICATIONS (416) 363-1832 Our private, packet-switched network connects with the Value Added Networks - Datapac, Datex-P, PSS, Telenet, and Tymnet - to provide access from the 35 countries listed below:

Argentina • Australia • Austria • • Belgium • • Canada • • Denmark • • England • Finland • France • Germany • Hong Kong • Ireland • • Italy • Japan • Luxembourg • Mexico • The Netherlands • • Norway • The • Scotland • Singapore • Spain • Sweden • Switzerland • • U.S.A.

SHARP APL is accessible from over 500 places via a local telephone call. Please ask your nearest I.P. Sharp office or represen­ tative for a complete list of access points and access procedures. Our private network also connects with the worldwide Telex network via the Rochester, New York and Amsterdam nodes.