APL Trivia – Wimbock APL
Vector 3:4, page 111
The text of this article is not yet online. No complete scan of this issue has been found. The only copy found, on vector.org.uk, is damaged: its page images are lost, but the text machine-read from them survives, shown below (help find a scan).
Unedited OCR text, machine-read from a scan now lost: it contains errors, and its APL is wrong. Shown for searching.
VECTOR Vol.3 No.4
APL Trivia
Wimbock-APL Application Notes
by D a n Wimbock’
Some of the technical features of this litde-known implementation were described in an earlier edition of VECTOR (April 1985); regular readers will be pleased to know that Dan has not been idle over the past two years ~ indeed he was unable to exhibit at APL86 due to pressure of other commitments.
The major thrust of development has been not so much in advancing technological features of the interpreter (although the a i r b o r n e generalised array implementation is an advance on both f l o a t i n g and g r o u n d e d which is worth an article in its own right ~ maybe next year); rather it has been in emphasising useability and the pragmatic nature of this particular incarnation of APL. An instance of this combines Dan’s interest in both Expert Systems and a new approach to h e l p facilities within applications. When we look at the conventional h e l p panel’ approach we find a number of problems which limit the possibility of actually providing the assistance which our user really wants.
a) Information displayed is in a quite rigid format - once seen it can only be re-seen; if it fails to create understanding there is rarely an alternative phrasing which could shed light.
b) Analysis of the user’s problem is the user’s responsibility the system doesn’t attempt to gain insight into why help is needed.
Dan’s view of the solution to this problem also falls into two parts,
a) The ability to construct meaningful and grammatically-correct sentences in the user’s own language. b) A diagnostic facility which can analyze underlying problems.
Taking the first, consider a sentence encountered very early in the education process of most English-speaking humans yet one which is only uttered under the rarest of circumstances by the most advanced computing hardware. . . T h e cat sat on the mat’ Grammatical structure is subject-verb-object; a structure which is able to tolerate considerable distortion in terms of additional qualifiers (adjectives and adverbs), plurality (‘the cats sat on the mats’) and abstraction (‘a cat sat on a mat’). This single sentence structure is capable of embracing an immense diversity of subject matter (cats, dogs, mats, rugs, even computers) and the most advanced of technological concepts. . . T h e X-195A computer architecture is based on 73-bit Gallium Arsenide VLSI technology’
lil
VECTOR Vol.3 No.4
Dan has therefore implemented a help-message-generation-facility GHMGF) which is based on this expert-system-paradigm (ESP) using Appropriate Vocabulary (AV), with pseudo-random phrase selection (PRPS) as a methodology for perceptual diagonalisation of the underlying message (invocation of the facility successively under the same stimulus does not generate repetition of the message, nor does it take the user to a deeper level before understanding of a first-order message is attained).
Taking as an example the sub-phrase structure illustrated below. . .
J -. ober | | ote inze} ta verr) |} loLpl } jorrr
This example uses the APL2-emulation mode of Wimbock-APL: QAPL+'APL2" DPY is from Brown (1986)
The PRPS algorithm is simplicity itself: QZ+PRPS TEXT;ORL Ca} Calex/73t0rs-0 [2] Zev( Pp" TEXT) > TEXT y Hence: PRPS GOBLIN THE SMALL ELF PRPS GOBLIN A VERY OLO ELF The system designer needs only feed ina suitable vocabulary in order to create a full and varied selection of relevant help messages; future extensions planned at Wimbock Enterprises include automatic extraction of vocabulary from system design documentation and utilisation of the (NLT system variable to create national-language customisation (although this latter may require some work on the Generalised Grammar Interface—GGI). The other half of the solution entails straightforward analysis of the )SI stack to determine the context of the user’s problem, and this is combined in the full implementation with a pseudo-ELIZA dialoguing technique to elicit the user’s state of mind. This is presently the subject ofa patent application and Wimbock Enterprises are unable to divulge full details of the techniques and algorithms used; however Dan feels that the averagely diligent VECTOR reader should be able to devise a suitable solution fairly quickly (it is unlikely that using the full capabilities of Wimbock-APL the necessary function would be longer than <PRPS> above).
Reference: Algorithms for AI in APL2;Brown, APL86 Tutorials (Editor: Gettem while we gottem).
112
VECTOR Vol.3 No.4
Recent Enhancements to Wimbock-APL:
Dan has just announced a new release, containing a number of enhancements among them being...
DIAPL System Function
Ensures application portability from other environments; (APL may be set to values A P L 2 , I P S A , S T S C , V S A P L , A P L 6 8 0 0 0 , D Y A L O G in addition to default setting W I M B O C R . When set all symbols are interpreted in the context of the parent implementation. Attempts to set JAPL to an unrecognized value will result ina DOMAIN ERROR, e.g. OAR LAPEt DOMAIN ERROR OAPL*" TAPE a
Monadic iota domain extended
Negative integers: _ 5 - 172 73 4 75
Complex integers: 1252 1J1 Ww? 271 22
Further extension to non-integer arguments are anticipated s o o n .
A n d So Forth’ Operator
This is a new niladic operator intended to improve productivity at the function definition stage; it is only available on the dedicated Wimbock-APL Machine and takes advantage of the advanced AI features of the machine. At any point during function definition when itis obvious to the programmer how to continue the a n d so forth’ operator may be invoked, for example: [12] Bost 2 1exy2 113) xyaeg™ 10710 Tia) a. {21) Orexyz
Control of function definition is regained by the programmer at-the explicit line number entered. This feature has been incorporated to make Wimbock-APL more attractive to conventional systems analysts and Dan wishes to express his gratitude to his supervisors in earlier years for making him aware of the usefulness of this notation.
C i r c l e reclassified as an operator
This is an enabling move for a further generalisation of array structure (away from Tectangularity to a more general ovoid form); in the present implementation its usefulness is limited, but for example 90002 p14 34 12
Note that this assumes prior use of the JANGLES system variable which allows user choice between radians and degrees as measure of rotation.
Note also that domain is severely restricted with present array limitations 8702 2014 DOMAIN ERROR 87602 2p 14 A‘
113