Last modified 26 April 2020.
The book Elements of Programming, by Alexander Stepanov and Paul McJones, has been republished by the authors in paperback and PDF (free) -- see the web site.
Jonathan Shekter, Bob Archer, and I designed and implemented the first version of the Adobe Pixel Bender parallel image-processing language supported in Adobe Flash Player starting with version 10 and in Adobe After Effects starting with CS3.
I designed the portable operating-system interfaces for the SRC implementation of Modula-3 and chaired the "Interface Police" committee that cleaned up and documented
the basic libraries. See:
I participated in the development of a Vesta-based programming
environment for Modula-2+.
- James J. Horning, Bill Kalsow, Paul McJones, and Greg Nelson.
Some Useful Modula-3 Interfaces.
Research Report 113, Digital Equipment Corporation Systems Research Center.
Palo Alto, CA, December 1993.
Online at hpl.hp.com
I worked with John Backus on the design of his family of functional programming
- Roy Levin and Paul R. McJones.
The Vesta Approach to Precise Configuration of Large Software Systems.
Research Report 105, Digital Equipment Corporation Systems Research Center
Palo Alto, CA, June 1993.
Online at hpl.hp.com
I built an APL virtual machine in microcode for a Digital Scientific Meta4 (which had a 90 nanosecond instruction time in 1970). See:
- Paul McJones.
A Church-Rosser Property of Closed Applicative Languages.
Research Report RJ 1589, IBM Research Laboratory, San Jose (May 1975).
PDF (scanned, 661315
- Paul McJones.
CRMS APL Processor.
Center for Research in Management Science, University of California, Berkeley
Charles Simonyi and I built a hand-tuned Snobol4 implementation for the
Control Data 6400 at the University of California, Berkeley. This report and its appendices serve, respectively, as the tutorial and reference manual for our dialect of Snobol4:
I've worked on several projects with the Software Preservation Group of the Computer History Museum to
collect, preserve, and present historic software, including source code:
I periodically post about these projects to the Dusty Decks blog. See also:
- Paul McJones. In Search of the Original Fortran Compiler. IEEE Annals of the History of Computing, Volume 39, Issue 2 (April-June 2017), pages 81-88. Online at IEEE Xplore (open access)
- Paul McJones. The LISP 2 Project. IEEE Annals of the History of Computing, Volume 39, Issue 4 (October-December 2017), pages 85-92. Online at IEEE Xplore (open access)
- Paul McJones. The Advent of Digital Typography: Interview With Liz Bond Crews. IEEE Annals of the History of Computing, Volume 42, Issue 1 (January-March 2020), pages 41-50.
Online at IEEE Xplore (open access)
Previously I participated in the creation of CHM's
Stretch (IBM 7030)
Collection -- an online collection of some 1022 documents from the IBM 7030
development project donated to the Museum by Harwood Kolsky.
As an associate editor of the ACM SIGMOD
collected papers and republishing permissions for System R, and the
collected works of E.F. Codd and Jim Gray.
I recorded, transcribed, and edited the proceedings of the
1995 SQL Reunion, which
reunited the teams that designed IBM's System R and
I designed the user process management component of the Taos operating
system for the Firefly multiprocessor workstation. This included binary-compatible
emulation of Berkeley Unix, and also a separate but interoperable interface
for multi-threaded processes. See:
I designed the virtual memory manager, "Germ" (boot loader/teledebug kernel),
and some standard device interfaces ("hardware abstraction layer") for the
Xerox Pilot operating system (embedded in the Xerox Star and some other products).
The Computer History Museum has a transcript and a video of "The Final Demonstration of the Xerox ‘Star’ Computer". Al Kossow
collects Xerox workstations and
documentation. Alan Freier created a web site
about the Dandelion
and other Xerox D* workstations running Pilot; he originally hosted this
web site on a Dandelion.
I designed the file directory system for the CAL Time-Sharing System, which
ran on the Control Data 6000 series. See:
I designed the crash recovery component of the System R database system. See:
- B. Lampson and H. Sturgis.
Reflections on an Operating System Design.
Communications of the ACM, Volume 19, Number 5, May 1976, pp. 251-265.
Online at research.microsoft.com
M. M. Astrahan
, M. W. Blasgen
, D. D. Chamberlin
, K. P. Eswaran
, J. N. Gray
, P. P. Griffiths
, W. F. King
, R. A. Lorie
, P. R. McJones
, J. W. Mehl
, G. R. Putzolu
, I. L. Traiger
, B. W. Wade
, V. Watson.
- Paul McJones (editor).
The 1995 SQL Reunion: People, Project, and Politics.
August 20, 1997 (2nd edition).
Online at mcjones.org/System_R/
I led a team that built the world's first speech-enabled electronic program guide for
digital cable television at Agile TV (now Promptu) .
I worked on customer relationship management software at Epiphany, Inc. (now part of Infor Global Solutions).
I consulted on the MilliCent microcommerce project
at the Systems Research Center of Digital Equipment Corporation (then Compaq, now HP).
I worked on EachMovie, a web site that recommended movies and videos using the Each to Each
collaborative filtering algorithm:
HP decided to stop sharing the data with researchers, but while it was available it was cited by a number of papers.
- Paul McJones and John DeTreville.
Each to Each Programmer's Reference Manual.
Technical Note 1997 - 023, Digital Equipment Corporation Systems Research Center.
Palo Alto, California,
October 1, 1997.
Online at hpl.hp.com
In 1994, Andrew
Birrell and I built a system called Virtual Paper that provided first-class support for online reading. The Virtual
Paper software (now only of historical interest) is available in source form as part of the Critical Mass Modula-3 library. As a spin-off of Virtual Paper,
we made available the pstotext utility, which extracts the words from a PostScript or PDF document and which is included as the text extraction features in GSview.
paul at mcjones dot org