GT.M allows references to a GT.M database from programs written in other programming languages that run under UNIX.
In GT.M, calls to C language routines may be made with the following syntax:
or as an expression element,
Where packagename, like the name elements is a valid M name. Because of the parsing conventions of M, the identifier between the ampersand (&) and the optional parameter-list has precisely constrained punctuation – a later section describes how to transform this into a more richly punctuated name should that be appropriate for the called function. While the intent of the syntax is to permit the name^name to match an M labelref, there is no semantic implication to any use of the caret (^).
For more information on external calls, see Chapter 11: “Integrating External Routines”.