Little Implementation Language

A Little Implementation Language
P. J. Plauger
ACM SIGPLAN Notices, Volume 11, Issue 4, Pages 135-137

PDF

The C programming language crowded out all its competitors (PL/I, Algol, BLISS, macro assemblers). LIL (Little Implementation Language) is apparently one of those also-rans.

Plauger intended LIL as a “Systems Implementation Language” specifically aimed at the PDP-11. The paper claims that both a compiler (for LIL language itself) and a “simple operating system” for the PDP-11 were written in LIL. Those are both hallmarks of Systems Implementation Languages.

The LIL language seems odd to me, being very loosely typed, and oriented to the PDP-11 architecture and instruction set. Plauger seemingly wanted to allow programmers who had intimate knowledge of PDP-11’s instruction set to be able to write code in a structured fashion. LIL is what he arrived at.

The best and most interesting part of the paper is the EVALUATION section. Plauger outright says that LIL is a failure. Yes, you can write code in LIL that’s efficient, and it’s faster and easier to write LIL than assembly language. But LIL lost out to C at Bell Labs, where C and `LIL were both invented. Plauger points out that 5-15% loss in speed is usually acceptable, and it’s easier to find programmers for a higher level language (C!). Programmers will gravitate towards a machine-independent language like C if they can.

In retrospect, Plauger is 100% correct. Look at the success of Python today.

Typography

LIL paper’s abstract original formatting

The PDF appears to have been typeset in a fixed-width font, two columns, left justified. I suspect it was typeset using nroff, which dates to 1972. Plauger definitely could have used it to typeset this paper. Plauger clearly knew about nroff at the time he wrote this paper. He had worked at Bell Labs, and the LIL compiler was included with Version 5 Unix. A book he co-wrote in 1976, the legendary Software Tools, used a simplified version of nroff input format to illustrate a number of software engineering techniques.

Looking at in the March 1976 Notices, other articles have better and similar typesetting. Same in the April, 1976 Notices. A similarly typeset article appears, although its only got one column.

SIGPLAN Notices seems to have had a 1969 -2018 run. The typesetting gets better and better during its run.

LIL resources