Re: XPL Language (Steve Meyer)
27 Aug 2000 22:27:57 -0400

          From comp.compilers

Related articles
[3 earlier articles]
Re: XPL Language (Joachim Durchholz) (2000-07-23)
Re: XPL Language (2000-07-27)
Re: XPL Language (Andy Johnson) (2000-08-04)
Re: XPL Language (2000-08-04)
Re: XPL Language (2000-08-10)
Re: XPL Language (Duane Sand) (2000-08-13)
Re: XPL Language (2000-08-27)
Re: roots (was: XPL Language) (Duane Sand) (2000-09-08)
| List of all articles for this month |

From: (Steve Meyer)
Newsgroups: comp.compilers
Date: 27 Aug 2000 22:27:57 -0400
Organization: Compilers Central
References: 00-06-118 00-07-016 00-07-075 00-08-018 00-08-028 00-08-055 00-08-083
Keywords: history

I am not sure it makes sense to continue this historial discussion,
but I think there is a lot more to story. The roots of modern
computing lie in this story. For example, although both PL360 and XPL
were available why did Professor Knuth use assembler in his Art of
Programming books? Also, these original languages (and the Bell Labs
counter-parts) arose in Academic (School of Literate and Science)
computer science departments, but now computing is studied in EE

On 13 Aug 2000 19:10:55 -0400, Duane Sand <> wrote:
>Steve Meyer wrote in message 00-08-055...
>>>>>: Peter Flass <> wrote:
>>>>>: > XPL, developed in the 1970's was one of the earliest "compiler
>>>>>: > compilers", was widely ported, and was the basis for a number of
>>>>>: > languages such as the PL/M family.
>>I think PL/M and XPL came from different worlds that did not
>>communicate. I think people saw XPL as too high level. I think PL/M
>>came from other system level languages such as PL/360 (?). My
>>recollection may not be right.
>Niklaus Wirth developed PL360 as an alternative to writing IBM360
>assembly code directly. It was a quick one-person project. The
>parser used "operator precedence' techniques which predated practical
>LR methods. The tables could be worked out by hand in no time but the
>method couldn't handle BNFs of most languages. It was quite low
>level, mapping infix syntactic forms directly to single 360

Parsing may have gotten tenure for lots of professors but the most
advanced programming language areas such as HDLs (hardware
descriptions languages) now use the "predated" operator precedence
methods. Also Professor Wirth's languages have remained at the
for-front of academic programming languages.

>instructions without any optimizations. The PL360 paper inspired lots
>of people to develop their own small languages.

I think PL360 was very popular within IBM and among the back then
"modernist" movement away from assembly language. I know it was very
popular at SLAC.

>McKeeman etc developed XPL on 360 as a tidy subset of PL/I that could
>be implemented by a few people and be useful in coding biggish things,
>including the compiler and parser generator. The parser was initially
>based on their extensions to operator precedence, which relaxed BNF
>restrictions but required use of a parser generator tool and was still
>limited compared to LR. XPL was "high level" only in having built-in
>a varying-length string data type supported by a garbage collector.
>There were no struct types.

I think it was hard back then to differentiate XPL from Mckeeman's
advocacy of Burroughs B5500 style stack machine research program.

>Univ of Washington ported XPL onto SDS/Xerox systems that were like
>360 but with one instruction format.
>UW graduate Gary Kildall developed Intel's first programming tools for
>the 8008 and 8080, in trade for a very early portable computer: an
>8008 without keyboard or monitor, installed in a briefcase. Kildall
>used these (plus a floppy drive adapted by UW grad John Torode) to
>develop CP/M, the precursor to MS DOS. The Intel tools included an
>assembler and PL/M, both coded in Fortran. PL/M was inspired by the
>example of PL360 and the implementation methods of XPL. Kildall left
>before UW's XPL project but was likely very aware of it.
>PL/M's level was limited by the 8008's near inability to support proc
>calls. The first micro language to see significant use was Basic,
>implemented by assembler-coded interpreters. Implementing real
>applications in real compiled languages required later chips with
>nicer instruction sets, eg 8088 (gag) and M6800.

As the Z80 showed, 8088 was only one index register away from being
real computer.

Historical question I think is why there was so little communciation
between the current most popular BCPL, B, C, C++ research program and
the Stanford/Silicon Valley research program.

Just my two cents.
Steve Meyer Phone: (415) 296-7017
Pragmatic C Software Corp. Fax: (415) 296-0946
220 Montgomery St., Suite 925 email:
San Francisco, CA 94104

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.