Browse Prior Art Database

Map External Data Structures to the APL2 Environment

IP.com Disclosure Number: IPCOM000109007D
Original Publication Date: 1992-Jul-01
Included in the Prior Art Database: 2005-Mar-23
Document File: 2 page(s) / 73K

Publishing Venue

IBM

Related People

Beaty, KA: AUTHOR [+3]

Abstract

This article deals with problem of using external data as an integral part of an APL2* application. The essential problem to be overcome is to have a way to describe the data to APL2 in such a way that APL2's "look and feel" is maintained, yet also remains useful from programs external to APL2. With the advent of and use of more and more utility packages from APL2, where the utilities are written in languages other than APL2, this is becoming an increasingly important issue.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Map External Data Structures to the APL2 Environment

       This article deals with problem of using external data as
an integral part of an APL2* application.  The essential problem to
be overcome is to have a way to describe the data to APL2 in such
a way that APL2's "look and feel" is maintained, yet also remains
useful from programs external to APL2.  With the advent of and use of
more and more utility packages from APL2, where the utilities are
written in languages other than APL2, this is becoming an
increasingly important issue.

      APL2 today used the []NA facility to enable external functions
to be used from within APL2.  To solve the problem above, extend the
[]NA facility to deal with variables also, in the following manner:

                            (Image Omitted)

This is modelled on the existing APL2 processor 11.  The current
processor only deals with functions, though.  The above suggestion
extends it to the realm of data, and also handles some of the aspects
unique to data that does not appear when connecting to external
functions. address   The address parameters can be one of:
            .   The address of a storage location to be used for this
data item.  This address must have been established by some previous
call to an external function allocating the needed space.
            .   0 (zero).  APL2 will allocate the space needed to
hold the variable, and will free the space when the variable is
expunged from the workspace. pattern   Describes the structure of the
data.  The same type of pat     tern description as is used by
function calls can be employed here.  The pattern information will
also determine the length of the data area.  It also provides the
mapping of each item from the APL2 side to the external side and
back. As such, it provides a form of typed data.
var       The...