Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

General Purpose Interface for Extending APL

IP.com Disclosure Number: IPCOM000075630D
Original Publication Date: 1971-Oct-01
Included in the Prior Art Database: 2005-Feb-24
Document File: 1 page(s) / 12K

Publishing Venue

IBM

Related People

Crick, MF: AUTHOR [+2]

Abstract

A general-purpose CALL function enables the APL programmer to call subroutines that are coded in other programming languages.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 72% of the total text.

Page 1 of 1

General Purpose Interface for Extending APL

A general-purpose CALL function enables the APL programmer to call subroutines that are coded in other programming languages.

This APL CALL function utilizes the dyadic I-beam operator to establish an interface with the other programming language, from which the chosen subroutine is to be called. The function is defined as follows:
D CALL 'Z' >1| 101 IZ
D .

The left argument 101 of the I-beam operator indicates to the system that a subroutine from another programming language is to be called. The right argument is a character vector consisting of a sequence of words, the first of which identifies the subroutine to be invoked. (If several subroutines written in different programming languages are originally identified by the same name, all but one of them will have to be renamed for this purpose.) Subsequent words in the vector refer to the various APL variables which are to be associated with the called subroutine.

The I-beam semantic routine first looks up each APL variable in the APL symbol table and creates a corresponding parameter list, using the conventions appropriate to the language interface being simulated. The subroutine name is looked up in a table which also contains the entry point address. The table is created by an assembly, and the table and subroutines in APL are loaded together to create a special copy of APL. The subroutine then is entered and the parameter list passed to it, as if it had been called...