NORD PL

NORD PL (NORD Programming Language, also known as NPL) is a programming language from Norsk Data. It shipped as a standard component of the operating system SINTRAN III.

The language was also used to implement SINTRAN III. I.e. the core and file system of SINTRAN III was written in NORD PL. The NORD PL compiler was also written in NORD PL and some core applications was early on written in NORD PL until PLANC came and linker and other software was rewritten in PLANC.

The NORD PL compiler was also special in that it did not produce object code as most compilers do. Instead it produced assembler code which then had to be assembled using the MAC assembler.

Example code
The registers of the CPU was available in NORD PL as predefined variables. Thus you could write:

X + T =: A

and the compiler would generate:

COPY SX DA RADD ST DA

Functions could be declared with multiple entry points:

FUNC FUN1, FUN2 FUN1: T := 1 FUN2: code here END

Here you could either call FUN1 which set T to 1 before falling into FUN2 or you could set T to something else and call FUN2. If T register specified which file handle to write to you could then either call FUN1 to always output to terminal or you could specify a file handle yourself in T and call FUN2 to output to that file.