Programming Language researchers at UBC are currently part of the Software Practices Lab.

A brief history of PL research at UBC

The UBC Department of Computer Science has been involved in research in Programming Languages since its inception. Our first permanent department head, John Peck, was one of the editors of the original ALGOL 68 Report, though most of his ACM publications show with non-UBC affiliations. For example, 1969’s Algol 68 as an Extensible Language was published while he was still at the University of Calgary. The UBC University Archives holds materials on ALGOL 68.

The first strictly PL event at UBC may be the “Informal Conference on the Implementation of ALGOL 68” held in August 29-30, 1969. The published proceedings are not yet online, though some talks were also published as tech reports. I believe this is an important artifact that UBC should also preserve.

In 1973, Ronald Hall presented a paper at SHARE on the development, begun in April 1971, of IF, an Interactive FORTRAN compiler, as part of UBC’s participation in the Michigan Terminal System.

Alan Ballard authored what seems to be the first ACM SIGPLAN paper with an UBC affiliation in 1973, System correctness, at the intersection with OS research, also showing that software verification and correctness proofs have been part of this department for almost 50 years.

Raymond Reiter, also an ACM fellow and later at Toronto, discussed AI research at UBC in 1974, which intersected what today we would consider PL, including semantics-guided Automatic Theorem Proving and Self-modifying programs. He was also involved in Logic Programming, “independently formulat[ing] and proving completeness of the SL resolution procedure, forming the procedural basis for logic programming interpreters” (quote).

Professor Emeritus Alan Mackworth did some work on Program visualization for LISP in 1976. This work begins a series of LISP work done at UBC throught the late seventies, including the implementation of an Interlisp Virtual Machine

In the 80’s, UBC developed its own Pascal-like language, Plus. Manuals can be found here

In the ACM SIGPLAN conference series, current UBC professor Norm Hutchninson published a paper on the first ever OOPSLA on Object structure in the Emerald system. The first POPL paper seems to be by Nicholas Pippenger on Pure versus impure Lisp, The first PLDI (with an UBC affiliation, from several by the author) was by Will Evans on Profile-guided code compression. For ICFP, the first UBC-related work was a keynote talk by Carl Seger about the Voss verification system.