Hands-on sessions in PC-equipped lab facilities.
Note: Seating may be limited in the PC-equipped labs used for conference workshops. If necessary, the APL97 organizing committee reserves the right to limit attendance to these presentations, with preferences given to early APL97 registrants.
90 minute interactive sessions lead by a PC-equipped instructor.
45 minute speaker presentations.
PL1: Ian Sharp (formerly I.P.Sharp Associates): APL and Success
PL2: John Heinmiller (Chalke Inc.) & Eric Baelen (APL2000): PTS2000, an APL Success Story
W1: Dyadic Systems: OLE Automation
OLE Automation allows APL to drive or be driven by other applications. The first session will introduce the concepts of OLE Automation and participants will learn how to include Microsoft Office 97 functionality (call Excel, Word and Access) in their APL applications. The second session will teach participants how to write an APL OLE Server that can be called directly from Visual Basic and Excel. Participants will learn how to build OLE Automation support into new APL applications and how to "open up" existing APL systems so that they can be accessed from different programming environments.
W2: Morten Kromberg (Insight Systems): ODBC and APL
There are two parts: an ODBC Client part, (simply an introduction to using ODBC), showing how our budgeting package - Adaytum Planning - makes use of ODBC. The second part is using APL as a Server. We will have both Excel and Web front ends for APL. We will talk about how we are using these.
W3: Dyadic Systems: APL Client/Server Computing
This workshop session will teach participants how to develop client/server applications in APL using both TCP/IP and OLE Automation technologies.
W4: Cliff Reiter (Lafayette College): Creating Images in J
Hands on workshop designed to give participants experience with creating visual images. Exercises for beginners will include creation of fractals, plasma clouds and basic image processing. Intermediate and advanced participants are invited to explore their own interests or use available exercises to create 3-dimensional images or symmetric chaotic attractors.
W5: Dyadic Systems: Event-Driven TCP/IP Socket Programming
This tutorial will introduce the concepts of event-driven TCP/IP programming and will include practical examples. Participants will learn how to use TCP/IP for simple messaging and how to build Internet/Intranet applications in APL.
W6: Chris Lee (SoftMed): User Defined Classes in APL/Windows Programming
APL2000's Windows GUI provides access to the family of Windows controls and also to third-party .VBX and Active-X controls. We discovered early on in our Windows development cycle that these options left us with a great deal of programming if we were to support many of the forms our applications required. We wanted a way to *super-class* controls to make new specialized controls with their own properties, events and methods that would both reduce the programming effort at each use and provide a consistent user-interface across our entire product line.
In order to provide a facility that came as close as possible to the raw []WI primitive, we wrote a function *QWI* with the same syntax that identifies the *class* of the object and activates the appropriate UDC (User-Defined-Class) to handle the request. SoftMed now has developed more than twenty UDCs and the goals mentioned above have largely been achieved.
This interactive workshop will introduce *QWI* and some of SoftMed's UDCs and participants will get the chance to construct forms and handler functions that make use of UDCs. An extensive set of UDCs will be provided for later use.
The use of TCP/IP, particularly within the Web technology, may bring radical changes to the way applications are developed and used. This workshop gives the participant an opportunity to get a hands-on feeling about how to:
T1: Robert Bernecky (Snake Island Research Inc.): APEX Opens Windows - APL Compiler Demonstration
APEX, the APL Parallel Executor, compiles ISO Standard APL into high-performance C code for PCs, workstations, and parallel supercomputers, allowing APL to compete with hand-coded C and FORTRAN. APEX has recently been ported to Windows NT, to enable creation of DLLs from APL programs.
What will I learn?
The tutorial will include a demonstration of the compiler in action. Attendees will receive copies of common APL utilities compiled into DLL form. We will attempt to have a multiprocessor PC available for demo purposes as well.
Who should attend?
About the presenter:
Robert Bernecky is the founder and CEO of Snake Island Research Inc, a Toronto-based corporation providing research, education, and consulting services. He is continuing the development of APEX, a high-performance, retargetable APL compiler for serial and parallel computers. Mr. Bernecky holds a BA in philosophy from SUNY at Buffalo and an MSc in Computer Science from the University of Toronto. He is a member of ACM and IEEE.
T2: Dyadic Systems: Dynamic Functions
Dynamic Functions permit true functional programming in APL and enhance both reliability and speed of execution. This will be a tutorial workshop in which participants will learn how to write Dynamic Functions and how to use them in real applications.
T3: Kirk Iverson (Iverson Software Inc.): J Sockets Interface
A socket is one end point of a two-way communications channel. Beginning with release 3.03, the J programmer has direct access to sockets, and can participate in cooperative communication with a program running on the same host, or on any host connected to the Internet.
This tutorial will cover J's interface to sockets, and explore some of the possibilities this opens.
T4: John Baker: J and ACCESS OLE Automation with a Dash of ODBC
For a number of years I have maintained an extremely useful J word database called JDict. Any early version of JDict was presented at the APL94 conference in Antwerp. JDict now contains over 1200 J words that I have written myself and "leveraged" (stolen) from others. Virtually every bit of J code I have found useful is stored in JDict. JDict is so handy that despite being based on old Win 3.1x J/DDE/FoxPro technology I haven't been able replace it with something better until now!
This talk will discuss a JDict replacement (JDict 97) that uses J3.04, ACCESS 97, OLE automation and 32 bit ODBC. The implementation of JDict 97 will illustrate:
The ACCESS component of JDict 97 consists of a very simple Basic OLE automation interface and a number of simple user interface forms that invoke J processors:
The J OLE/automation server processors are:
At the end of my talk I will distribute copies of JDict 97, complete with all 1200 words, and, if I can manage it, a personal WWW address where this system can be downloaded.
John Baker
bakerjd@kos.net
T5: Eric Iverson (Iverson Software Inc.): J and the Net - Java, Plug-ins, and CGI
The architecture of the Net has a simple client-server structure based on http, HTML and the defacto features of the dominant browsers. This is then complicated by various schemes for extending the data processing capabilities on both the client and server side. Adding in Java and its hype creates a confusing universe filled with jargon and opportunity. This tutorial strips out the confusion and lays bare the overall Net architecture with an emphasis on where there are opportunities for application data processing. The tutorial covers the basic concepts of browsers, servers, http, HTML, CGI, Plug-ins, ActiveX, and Java and discusses the several places and ways in which J fits in. In particular it shows how J can be used to provide Net applications that provide more than animated images, scrolling banners, and simple forms.
T6: Chris Burke (Strand Software): OpenGL Graphics and J
OpenGL is an industry-standard 3D graphics and modelling library originally developed by Silicon Graphics for its high-end graphics workstations, and used for applications such as CAD, medical imaging, and film special effects.
OpenGL has been ported to Windows 95/NT and is now included with the Windows distribution. With a fast PC and graphics adaptor, you can have exactly the same facilities that were once available only on expensive workstations.
J Release 3.04 provides a complete interface to the OpenGL API allowing us to create high quality 3D graphics that were simply not possible with the standard Windows GDI.
T7: Chris Burke (Strand Software): Functions in APL and J
This presentation will compare the various ways of defining functions, including tradition APL definition, Dyalog's new Dynamic Functions, and J explicit and tacit definition; and then discuss how these functions are applied to their arguments.
The intent is to explain the new facilities in Dyalog and J, and in doing so, give a fresh perspective on standard APL.
T8: Richard Levine: An Introduction to J for APLers
The subject is the J language and system. The objective is to assist the participants to understand and assess the basic concepts and details. The observed strong commonalty of J with many dialects of APL will be exploited to "jump-start" an understanding of J, especially for those who have already made attempts in this direction. We will make heavy use of existing reference materials. There will be ample opportunity for discussion within a carefully planned agenda. Participants unfamiliar with APL will also benefit, and J's unique "non-APL" aspects will not be ignored. The tutorial promises to be an exciting and useful introduction to J, covering much material; potential participants are encouraged to contact the tutorial leader at rlevine@aracnet.net or 416-781-4198 to suggest or request specific topics.
T9: Chris Walmsley (NIAL Systems): Using CGI-NIAL for Server-Side Web Applications
This tutorial will introduce the CGI-Nial version of the Q'Nial interpreter specifically designed to support CGI processes for Web servers. The basic concept is to use a combination of HTML text and a Nial script to provide the information needed to dynamically generate an HTML form for a client browser. The information is organized in a file called a Nial form file, which can be automatically processed by CGI-Nial. For simple applications a single Nial form file can be used to display a form and generated results. For more complicated applications a set of Nial form files can be used with a control algorithm to decide which form to be presented depending on the response to the previous one. Tools are provided to parse the form input, to provide persistent data between forms and to support an ODBC interface to external databases.
T10: Eric Lescasse (Uniware): APL+WIN Training Program, OO Progrmming, MIDI, etc.
Would you like to learn Object Oriented Programming through APL? Come to this presentation which will demonstrate how most of the basic concepts of Object Oriented Programming could be applied to APL in a crystal clear and simple manner. See how you can create new classes of objects in APL+Win (or Dyalog APL), how you soon can start building an objects class hierarchy, how you can extremely simply use and fully benefit from inheritance, polymorphism, methods overloading and overriding, encapsulation And how you can finally end up with completely reusable APL code and for the first time easy to maintain and change APL applications. This 1.5 hour training is extracted from the Uniware Monthly APL+Win Training Program, available for download each month from Uniware Web's site from subscribers worldwide.
T11: Chris Lee (SoftMed): Object Oriented Methods in APL+WIN
Much has been made in recent years about the benefits of an object oriented approach to programming and several languages have emerged that support and, indeed, enforce the structures and methodology of OOP. While the APL language has not been specifically enhanced in this way, attempts have been made by users of APL (e.g. Kent, Brickman) to create an overlay structure that embodies the tenets of OOP, namely encapsulation, inheritance, polymorphism and instantiation. The APL+WIN GUI implementation also provides an object-oriented approach in the absence of true object support through the use of period-delimited character strings to simulate parentage. This presentation is not another attempt to provide *Objects in APL.* It is my belief that that task lies at the feet of the system developers at APL2000 et al. It has become clear, however, that many of the benefits of object orientation can be realized in the development of APL-based applications.
At SoftMed, we started our migration from DOS to Windows two years ago. We decided up front to utilize an object-oriented approach so that we could maximize code re-use while minimizing development and maintenance time. We developed a set of coding standards and guidelines and a methodology that emphasized modularity, message-passing and data-driven constructs. This approach has proven highly effective in helping us deliver, maintain and enhance several complex and inter-related applications.
The approach will be described in detail with code examples and a look at some of the resulting applications.
T12: Ed Shaw (APL Group): Electronic Commerce, Electronic Data Interchange, and the Internet
Electronic Commerce encompasses email, FAX, and EDI. Business transactions are conducted over a communications link, whether it be proprietary, a common carrier, a value added network, or the Internet. The tutorial will describe the specific characteristics of each, with an emphasis on EDI, and the role of an EDI translator, such as The APL Group's software product, Qualedi for Windows(R). It will also bring you up to date on the involvement of the U. S. Government in EDI. To gain maximum benefit from these opportunities, companies must integrate Electronic Commerce with their transaction oriented computer applications and possibly reengineer their business operations. This implies an important role the the computer and business consultant.
T13: Richard Levine: An APL Toolkit
The primary subject is the new Release 4 of the Toronto Toolkit, a collection of APL freeware APL utilities now approaching 15 years. The expected audience are those who use APL in a programming mode, who use or wish to use a "toolkit" approach. Besides a demonstration of new functions (e.g. function development tools) and features, documentation, and architecture of the Toolkit, the tutorial will offer a unique opportunity to present and discuss the software philosophy guiding the Toronto Toolkit. Connections with APL (various dialects) and J language and system features, and other toolkits will also be covered. This tutorial has general appeal to those interested in collections of APL "utility" functions. Potential participants are encouraged to contact the tutorial leader at rlevine@aracnet.net or 416-781-4198 to suggest or request specific topics.
T14: Soliton Associates: Anatomy of TimeSquare
TimeSquare, Soliton's latest 'application' that leverages its UNIX based interpreter, SHARP APL for UNIX, is described as a database product that addresses the specific requirements of moving market data through the financial enterprise from the data vendor to the end user, in a fully relational and open environment. Introduced at APL95, when it was it was still a market research prototype, TimeSquare will be launched at the SIA (Securities Industry Association) Information Management Conference and Exhibit in Manhattan in June, 1997.
Taking a different tact from its usual sales presentation, in this session, Soliton will take the covers off TimeSquare and in three short sessions present strategies and issues associated with the implementation of its parser/compiler, its data base access language and its data manager. The objective in the three session is to give attendees some insight into the underlying design that allows Soliton to claim that TimeSquare is a more effective tool for acquiring, managing and disseminating large amounts of time series data, compared to traditional relational data base management systems.
T15: Roger Hui & Ken Iverson (Iverson Software Inc.): Mathematical Roots of J
The massive Handbook of Mathematical Functions [1] has now served mathematicians for over thirty years. For several years, work on a companion volume of executable functions has spurred many innovations in the J system. This three-hour workshop provides a review of these developments, presented in a live, interactive manner. Previous knowledge of both the Handbook and J would be helpful, but not essential. Items to be treated include:
1. Abramowitz, A., and I.A. Stegun, Editors, Handbook of Mathematical Functions - National Bureau of Standards, Applied Mathematics Series 55, June 1964
T16: Steve Mansour (Carlisle Group): How to Write an APL Utility Function
In today's business climate, reusable code is essential. But many programmers often don't use existing utility functions because they find them difficult to use or not general enough. Also, they may not know that such functions exist.
Instead, programmers often clone lines of code from other functions. This results in sloppy, undocumented code which is full of errors. In order to avoid this, the author of a utility function must make an extra effort to ensure that his function is designed properly.
APL is easy to learn because its primitives behave consistently, work on arrays as well as scalars, can handle edge conditions, often use default values and are totally encapsulated from the user. We can learn from this by designing utility functions in the same way, allowing them to become an extension of APL and its set of primitives. This paper will show some examples and design techniques.
T17: David Siegel (LEX2000): GUI Programming in APL+WIN
This would be intended for APLers new to windows/GUI programming, but familure with APL. It would cover the event-driven model used by windows, and how to create simple windows applications in APL+WIN, using hands-on examples with several of the APL+WIN GUI controls in place.
T18: John Heinmiller, Zig Swistunowicz & Mike Harris (Chalke Inc.): Technology and The Actuary
A discussion of the relevance of recent advances in computer technology to the actuary. How is technology changing the role of the actuary within the industry? The ability of applications to interact makes it possible for "actuarial" applications to talk to "non-actuarial" applications. This opens the door for analysis which was not possible before. How can the actuary take advantage of these new trends? A case study of a real-life application will show how technological changes are breaking down traditional barriers within financial institutions. Focus will be on actuarial and investment software within the North American environment.
Speakers
John Heinmiller
Director Analytics Development Group
SS&C
Zig Swistunowicz
Manager of Insurance Liability Analytics
SS&C
Mike Harris
Analyst Developer & Quality Assurance Manager
SS&C
P1: Dave Mitchell (Xerox): SHARP APL Mainframe and the TCP/IP Revolution
Sharp APL at Xerox has always been network driven. At Xerox, TCP/IP has brought APL from IPSANET, RJE, TYMNET and SNA into the world of Internet and the Web. Terminal access, file transfer, mail exchange, network printing, Web serving and direct application to application support are some of the sucessful accesses being done daily. Methodologies, experiences, pitfalls and plans will be presented.
P2: Mike Jenkins (NIAL Systems): Creating Embedded Applications with the NIAL Tools
The Nial Tools consist of several compatible versions of the Q'Nial interpreter organized to support the rapid development and deployment of data-intensive applications. The tools are: Q'Nial, the interactive interpreter for Nial used for program development; the Nial Data Engine, a package for activating Nial applications from other software; RunNial a runtime version of the interpreter invoked from the command line; and CGI-Nial a version of the interpreter to support Web applications. The talk will describe how the Nial Tools have been used by various clients to create applications that interface with other software.
The rise of Internet technologies (particularly Java) provides many benefits for the development and deployment of user interfaces. In many cases, however, the back end system is behind the times: Internet hostile, no object orientation, etc. How can data be transferred between the new generation front end and the old generation back end without compromising the strengths or integrity of either? This paper will discuss the use of customized Java data serialization to achieve this goal against a large IBM MVS Sharp APL system.
P4: Dennis Paproski (Reuters): APL IDE: A Windows Interface to Mainframe APL Systems
When I joined I.P. Sharp in 1988 there were two interfaces to the Sharp APL mainframe:
The goal of the APL IDE project is to provide the Sharp APL programmer at Reuters with a new interface to the mainframe that will improve productivity. This will be acheived through:
The APL IDE will be mostly written in Dyalog APL for Windows with some functions written in Microsoft Visual C++ available through a DLL. The development of the IDE will also provide additional benefits beyond improving programmer productivity:
1) We can add additional functionality through further upgrades ie. sockets connections.
2) We can expand the usability to other platforms ie. Windows NT or Unix.
P5: Keith Smillie (Univ. of Alberta): Computer Construction of Weaving Designs
J algoritnms are developed for deriving the weave of a piece of cloth from the instructions for setting up a loom, for the converse operation of deriving the setup instructions from the weave, and for introducing colour into the weave.
P6: Andrei Buzin (RusAPL): About Recurrent Calculations in APL
It is known, that APL gives the possibility to think global, in terms of arrays. It has the powerful incorporated means of processing arrays as a whole. Unfortunately, not all problems of array processing can be solved elegantly by APL. The APL is oriented on regular array processing, which means that all elements are processed similary. However from time to time the researcher who uses arrays often, requires singular or recurrent array processing, in which the algorithm of single element processing depends either on this element itself or on the other elements of array.
As examples of singular processing we can mention calculating of logarithm of numerical vector or the derivation of piecewise-smooth function in points among which there are the points of nondifferentiability. It is quite obvious, that the points, where the function or operator is not defined, must be excluded from the processing. APL does not make this, nor informs which element can't be processed:
To obtain such a result we must use cycle, but cycle in any interpreter works very slowly. It would be fine if this cycle was programmed as the immanent part of the language, as in the case of reduction, scan or each operator.
In this article we shall discuss the other type of irregular array processing, namely, the recurrent calculating of the elements of array.
P7: Doug Forkes (Soliton Associates): TimeSquare Tables - A New Data Type
While developing the TimeSquare project, we found it quite useful to define a special datatype, and a set of functions to act upon it. The new datatype is somewhat analogous to an SQL table, so we call it a table. A table can be thought of as essentially two-dimensional, with a finite number of ordered rows, and an infinite number of identified but unordered columns. The identifier of a column of a table may be any apl object. Each element of a table may be any APL object, or may be null. This paper will describe a set of APL functions to manipulate such tables, and provide some examples.
P8: Michael Kornacker (Deutsche Bank AG): Global Limits Control System at Deutsche Bank
GLCS global limits control system is a part of risk managment in the business with financial institutions counterparty and country risk monitoring in the trading products mm, fra, fx, spot, fx forward and commercial paper; history, present, future.
P9: Joachim Hoffmann & J. Riebenbauer: Interactive Design of Structures for Everyone, in APL
A Dyalog APL/W application with a Graphical 2D PreProcessor in order to (construct) and calculate wood systems (ranging from roofs to bridges) with immediate graphical display of results. This application is already used in practice.
APL functions are provided as descriptions of constructive algorithms for optimizing the synthesis of neural networks while improving their generalization capabilities. Programs of these algorithms construct networks of binary weights for classifying or partitioning sets of arbitrarily-high dimensional binary patterns in the closer of two classes. The study of constructive algorithms for identifying such networks is of direct interest to designers who build array processing hardware classifiers from fast two-level digital circuits. Provided is an APL exposition of a constructive algorithm for synthesizing minimal neural networks. One of our objectives is to introduce creative APL users to this emerging application area and the language's potential for describing array-based software and hardware. This constructive method incorporates a minimum overlap pattern separation and a target switching algorithm. Prototypes of constructive algorithms implemented with typical , scalar-based procedural languages typcially require hundreds of statements. Array based formulations with functional style programming languages like APL and J require a few short functions.
P11: Murray Eisenberg (Univ. of Massachusetts-Amherst): J vs. Mathematica
APL and J have had limited success in penetrating mathematics education, especially at the college level. By contrast, in recent years Mathematica has received increasingly wide acceptance. Why?
How do J (as a representative of the APL family of dialects) and Mathematica stack up against one another -- as tools for getting answers; as programming languages; and as tools of thought?
These are among the questions to be addressed by the presenter, who has taught linear algebra for many years using APL or J and, most recently, using Mathematica.
P12: Roy Sykes (Sykes Systems): Nested Array Internals and Efficiency
The advent of nested arrays has given APL users an even richer repertoire of ways to store and manipulate data, especially for small or ad hoc problems. But heavy usage of large datasets still demands efficient processing. By examining the internal architecture and implementation of APL, we can evaluate different storage strategies to predict their efficiency. This talk will uncover these hidden aspects of APL and use several examples to illuminate our findings.
Many papers have been produced in the last 10 or more years extolling the virtues of APL for statistical computing. Such papers have stressed APL's array-handling operations, the use of user-defined operators, and the often transparent flow from mathematical notation to APL's equivalent computational notation. The use of nested arrays figures relatively little in this. (Of course, the current Windows-oriented computing medium means that a function's argument may well be, often is, a long nested array!)
This paper demonstrates why APL with nested numeric arrays is just what the statistician needs in order to deal with missing data in a sample survey analysis. One technique of dealing with missing values is that of multiple imputation in which each missing value is replaced by a set of between five and ten 'typical values'. APL with nested arrays provides just the right medium for the efficient storage of the resultant database. Moreover, because array operations on nested arrays employ scalar extension, the paper shows that typical statistical functions, such as the calculation of means, standard deviations, regression estimates, can be programmed, often with little or no change, so that they will operate on the nested database to provide multiple answers ( each answer corresponding to one of the chosen typical values representing the missing values). The multiple answers can then be used to give answers required that truly reflect the variability induced by the missing data.
The statistical knowledge required to appreciate the content of the paper is minimal - the beauty of APL in the service of Statistics is considerable!
P14:Erik Papp & István Kádár (University of Budapest): Object Oriented Spatial Positioning Systems
István Kádár
Erik Papp
Technical University of Budapest
P.O.Box 91, H 1521 Budapest, Hungary
The Object-Oriented Location Systems consider every geographic object, layer, overlay et cetera such kind of homogeneous raster set where orbitrary linear ordering can be defined over its elements. Hereby possible to create a subrange type data structure from "serial numbers" of the raster elements. Those latter will call "the rank of point" (0* rank We present in our paper the solution of that task which arise in case of the dynamic restructuring of the same geographic event space. Naturally under such circumstances the rank of a point will be changing but remaines invariable of the location of one inside of the virtual "Euclidean background geometry". This identity of the location the virtual coordinates can be ensure. We chose the so-called Burton mapsheet pair for illustration what we has got to say (The Computer Journal, London, Vol. 30, No. 4, 1987 pp. 355.) which demonstrate the partition of identical mapsheet according to two alternative. The J program language based on APL array arithmetics proved to be an efficient tool for the transformation the rank of identical points between of two different kinds of structures. Both the "ranking" and the "unranking" procedure require only half line size program. independently from complexity of real structure or the size of geographic object. The data structure itself the suitable combination of the three following arrays:
By the way the solution of task - thanks to advantageous attribute of array arithmetic - dimensionless, namely not only in plane and in space but it can be use - for example - in spatial temporal four dimension GIS systems also without any modification.
P15: Bob Armstrong (Coherent Systems): Evolution of CoSy
CoSy is the NoteComputing environment I have evolved with since meeting APL in the mid `70s for general support in the business of life. Current CoSy was constructed in old STSC flat PC-APL in 1984 as an open-source hypertext browser of its own objects -- altho that vocabuary was not yet in use. The target now is to rip the organs of Window95 (OLEs) open into a coherent linguistic structure down to the hardware - creating an environment providing the user/programmer complete control over their notebook computer. The practical next step is to integrate CoSy with a competitive APL language community and all the algorithms its members are interested in sharing.
P16: Ed Shaw (APL Group): War on the Workspace - a Databased Commercial Application
How do you properly support thousands of dispersed users of a PC application without losing control and yet provide timely and apparently customized features? How do you continue to maintain and enhance a commercial application over a period of many years, including a conversion from DOS to Windows and the inevitable changes in personnel without falling off a cliff? There are probably as many answers as there are developers to this question. The APL Group has chosen to ignore the workspace and to store all control data functions in a highly structured manner in its proprietary database written in APL. It has also adopted a number of procedures and controls which have allowed it to continue to succeed over 14 years with a continually evolving product. The techniques adopted will be described with the hope that some of them may be of use to others and also that they may stimulate a discussion of alternatives for the mutual benefit of all who attend.
P17: Giitiro Suzuki (Institute of Statistical Mathematics): J Phrases for Statistics at a Glance
In my talk, many functions for statistical data analysis, are presented. These functions are mainly written by tacit definitions. Then, these are convenient as a J primer.
Main contents are as follows :
Toshio Nishikawa
Chiba Institute of Technology
2-17-1, Tsudanuma, Narashino, Chiba, 275, Japan
J has been widely used to mathematical computations, however, less often used to string manipulations such as machine translation. The author developed a small machine translation system using APL, and tested its adaptability through English-Esperanto and Japanese-Chinese translations.
In growing popularity of J, we made a plan to convert the system using J. First, we thought it could be easily converted in code-by-code, however, realized to be impossible in such a simple way. Therefore, we must rebuild it as almost new version, and for the time being, start from making several function tools for manipulating character strings, although we aim to machine translation. We adopt English-Esperanto as a pair of translation, because of simplicity and regularity. Thanks to powerfulness of J, especially 'box' and 'each' codings, we can expect compact translation system.
Last updated 970620