Updated June 19 2018 by Charles Anthony.
Moved from Stratus to multicians.org in August 2017.
Updated 20 February 1996 by Paul Green.
Updated August 16 2000 by Paul Green.
This directory contains Multics PL/I programs written by the late Barry L. Wolman.
This group contains programs written by Barry in 1972 and 1973 for Carnegie-Mellon University Professor William Wulf's "Rosetta Stone" project. This was a project to solicit many programs for the same set of tasks, all written in different programming languages.
bsort.pl1 Program to implement a binary sort.
bsort.list Multics PL/I compiler listing file for bsort.pl1.
buddy.pl1 Program to implement a buddy-block storage allocation program.
derive.pl1 Program to differentiate an equation that has been stored in tree form.
e1.mixal Test case for MIX assembler.
e2.mixal Test case for MIX assembler.
letter.runoff Letter to Prof. Wulf about the programs.
mix.notes Notes about possible improvements to MIX assembler.
mix.pl1 MIX Assembler.
mixhead.incl.pl1 Include file for mix.pl1.
notes.runoff Explanation of sample programs.
p.mixal MIX program to generate first 500 prime numbers.
This group contains data plotting programs.
plot.pl1 Subroutine package for using plot_ subrs.
tplot.pl1 Sample driver for "plot" subroutine package.
I have used a scanner to get these programs online, followed by careful proofreading. But I am sure that errors remain, because I have not compiled them on Multics, and do not know whether they would work on the Multics of today.
I have taken one liberty; Barry would have used the Multics default tab stops (1, 11, 21, ...); since tab settings vary widely on the InterNet, I have removed almost all of the tabs from these files in order to preserve the original look and feel of the programs. I left the tabs intact where it mattered to the program itself.
These programs are offered without warranty of any kind whatsoever. You are on your own.
(06/19/18) The files from http://multicians.org/blw/index.html were copied to ban.ai Systems Public Access Multics Service, compiled, and tested where feasible.
Fixed OCR errors in bsort.pl1, e1.mixal, mixhead.incl.pl1, mix.pl1, p.mixal.
Added some missing declarations to fix compile errors and functionality in plot.pl1 and tplot.pl1.
I also added "mixrun.pl1" which will execute the output generated by "mix.pl1"; but it is not extensively tested, and is missing several MIX features:
/* BUGS: * card reader, card punch, tape, disk not implemented. * Instructions IOC, OUT only implemented for printer. * * Instruction IN not implemented. * SHIFT instruction not tested. */
It is a hand translation to pl1 from the C at https://github.com/darius/mixal
write_seg.pl1: Missing from web page; needed for mix. copy retrieved from Paul Green, OCR errors fixed.
No changes were made to buddy.pl1 or derive.pl1; they compile without errors but were not tested.