An HPF program may need to call a procedure implemented in a different programming model or in a different programming language. A procedure's programming model might provide:
A programming language provides a specific syntax (language features), semantics (meanings), and pragmatics (purposes). Examples of programming languages include Fortran (an ANSI and ISO standard--the most recent revision is expected to be approved by 1997), HPF (a specification of extensions and restrictions to Fortran), Fortran 77 (a previous ANSI and ISO standard), C, C++, Java, Visual Basic, and COBOL.
A program unit's language and model, when taken together, constitute its extrinsic kind. This extrinsic kind may be specified explicitly by an extrinsic-prefix or implicitly by the selection of a compiler and its invocation with a particular set of compiler options. Thus, one might view the compiler as providing a host scoping unit as defined by Fortran. For example, a program unit compiled by an HPF compiler will be of extrinsic kind HPF. Alternatively, its extrinsic kind may be specified explicitly by an extrinsic-prefix such as EXTRINSIC(HPF) or EXTRINSIC(LANGUAGE="0DHPF"0D,MODEL="0DGLOBAL"0D) .