The Pascal Users Group Newsletter was published between January, 1974 and November, 1983. It was an interchange of information, comments, and programs about Pascal during the critical years of its formation and use.
David T. Craig has graciously allowed me to scan in his collection, and Andy Mickel has given me permission to publish the newsletter online.
The newsletters, 1 to 27, are in .PDF or Portable Document Format, with editable text. This format is ideal for scanned paper documents, as it includes both the original bitmap of the documents, and also an OCR or Optical Character Recognition version of the text embedded such that the text can be copied to the clipboard, and used in other applications. For example, the programs contained can be copied out to an editor. OCR is not perfect, but any character errors can usually be worked out by examining the original scans.
In some cases, the newsletter scans are of copies, not originals. These scans include defects that were in the original copies, including dark areas and smears.
David T. Craig has given an Outsiders Retrospective of the newsletters.
I have compiled a short (and incomplete) list of interesting events/articles in the PUG newsletter.
Newsletter #2 Page 1 1974 History of Pascal documented.
Newsletter #2 Page 6 1974 Wirth describes Pascal 6000-3.4.
Newsletter #2 Page 18 1974 Wirth describes Pascal-P (the P-machine, probally p1).
Newsletter #3 Page 1 1975 Pascal User Manual and Report published (assume first edition).
Newsletter #3 Page 4 1975 History of Pascal, revised.
Newsletter #3 Page 10 1975 Pascal-P2.
Newsletter #4 Page 40 1976 Per Brinch Hansen discusses concurrent Pascal.
Newsletter #4 Page 81 1976 Pascal P4 released.
Newsletter #11 Page 64 1978 ISO Standard Pascal progress discussion.
Newsletter #11 Page 70 1978 Pascal P4 implementation notes (is P4 standard Pascal?).
Newsletter #12 Page 7 1978 French/English Pascal keywords and identifiers.
Newsletter #12 Page 17 1978 Application section appears with Pascal sources.
Newsletter #12 Page 33 1978 Analisys of Pasal design goals.
Newsletter #13 Page 13 1978 Discussion of UCSD Pascal deviations/omissions from standard Pascal.
Newsletter #13 Page 34 1978 Pascal prettyprinter (Hueras).
Newsletter #13 Page 45 1978 Pascal prettyprinter (Condict).
Newsletter #13 Page 83 1978 Letters from Wirth and others on the draft ISO standard.
Newsletter #13 Page 84 1978 Letter concerning test suite for ISO Pascal (Wichmann).
Newsletter #13 Page 86 1978 Announcement of ANSI standards group.
Newsletter #13 Page 92 1978 Lazy I/O first described.
Newsletter #14 Page 5 1979 Working draft of BSI/ISO Pascal standard.
Newsletter #15 Page 7 1979 Comments on ADA.
Newsletter #15 Page 31 1979 ID2ID identifier translator program.
Newsletter #15 Page 35 1979 Text formatter program.
Newsletter #15 Page 62 1979 How to process scope in Pascal (A. Sale).
Newsletter #15 Page 63 1979 Interactive Pascal-S.
Newsletter #15 Page 90 1979 Pascal standards progress reports.
Newsletter #15 Page 99 1979 Pascal validation suite available.
Newsletter #15 Page 102 1979 Modula-2.
Newsletter #15 Page 112 1979 UCSD becomes commercial product.
Newsletter #17 Page 12 1980 Report on Ada.
Newsletter #17 Page 18 1980 Pascal cross reference program.
Newsletter #17 Page 29 1980 Pascal macro processor.
Newsletter #17 Page 54 1980 Conformant array parameters proposed.
Here is an index of source programs that have appeared in PUG newsletters. Note that I have discriminated, perhaps arbitrarily, between programs that were just simple fragments appearing in articles, and whole, complete programs designed to perform a task.
Newsletter #5 Page 12 1976 Soma cube solver.
Newsletter #12 Page 20 1978 Compare two text files and report differences.
Newsletter #12 Page 25 1978 Performance measurement.
Newsletter #12 Page 32 1978 Self printing program.
Newsletter #13 Page 34 1978 Pretty printer (Pascal source formatter).
Newsletter #13 Page 49 1978 Pascal program formatter.
Newsletter #15 Page 32 1979 Rename identifiers in a Pascal program.
Newsletter #15 Page 40 1980 Prose text formatter.
Newsletter #15 Page 57 1980 Compute perfect hash table for Pascal reserved words.
Newsletter #16 Page 20 1979 Pascal standard validation suite.
Newsletter #17 Page 20 1980 Pascal program cross reference generator.
Newsletter #17 Page 30 1980 Pascal macro preprocessor.
Newsletter #19 Page 30 1980 Pascal-s compiler/interpreter.
Newsletter #19 Page 44 1980 LISP intepreter.
Newsletter #21 Page 12 1981 EM-1 Machine emulator (for later EM1 Pascal compiler).
Newsletter #22 Page 4 1981 EM-1 Pascal compiler.
Newsletter #22 Page 40 1981 Print trees.
Newsletter #22 Page 44 1981 Perform huffman compression on file.
Newsletter #24 Page 40 1983 Biliography generator program.
Newsletter #24 Page 28 1983 Tree print program.
Newsletter #25 Page 12 1983 Improved Pascal cross reference generator program.
Newsletter #27 Page 31 1983 Pascal translator writing system.
There is a lot of history contained in the newsletters. What makes it most interesting is that, at the time it was published, the people writing the material genuinely, and for good reason, thought that their language was going to be come the most used language in existence.
People decry the lack of standards in Pascal. Actually, the newsletters make the path of non-standard Pascal abundantly clear. As newsletter #11 goes into, the P4 compiler, used as a base for most other compilers, wasn't very standard, and subsetted, and to some extent, changed the language. Of course, Professor Wirth never represented it as anything but a starter kit for a compiler. Undoubtedly the intent was to give a minimum set of Pascal which could self compile, and leave it up to the implementors to fill out the remaining Pascal details. In most cases, it seemed to have worked this way. However, the UCSD implementation clearly did not.
The UCSD implementation is alternately prasied and insulted in the newsletters. It was clear that some were upset about it being non-standard. Interestingly, the major push for a group to discuss extentions to Pascal was the UCSD group, so clearly here is the root of microcomputers rapidly diverging from standard Pascal.
Just as clearly, that fuse was lit by the P4 compiler. Whether that was intended or not is another discussion.
One theme that runs through the newsletters is a constant barrage of ideas, requests, pleads and demands for extentions to the language. The two biggest subjects are dynamic arrays and a default selector for case statements. It may well be that one reason the standards comittees didn't get into serious discussions about extentions is that the subject was already very contentious before the standards process even started.
And speaking of contentious....
The subject of standardizing Pascal came early and often, and got started in a relatively rapid way. Andy Mickel states "did you know ANYONE can propose a standard for Pascal"? And off they ran....
The standards process, led by Tony Addyman, got off to a good start with the excellent draft proposal. The standards process was started in serveral countries in parallel (which is standard procedure). Then, in Newsletter #19, it all falls apart rapidly as the Americans protest the inclusion of conformat array parameters. Here is the root of the eventual split between the ISO and ANSI standards.
Its truly amazing just how many compilers are represented in the Newsletters. Virtually every mainframe, minicomputer and microcomputer appears to have been supported in projects from interpreters to compilers, even on the lowly 8080. So why is it that in 1983 Borland swept the field ? The newsletters make it clear, its not about having a compiler, its about executing quickly to make a product.
The newsletters contain a large number of standard source programs in Pascal. Unfortunately, I haven't come up with a reliable method of converting them back to compilable Pascal source using OCR. It is true that they have been run though an OCR as part of the .pdf creation (see comments above). However, the formatting has been lost, and there is no good means to "glue" the multiple pages and collumns into one whole program. Additionally, there are enough OCR problems, such as badly recognized characters, to create difficulties with getting the resulting programs to compile.
In some cases, the programs exist in full source form under the UCSD Pascal USUS (UCSD users' society) libraries. However, they are also usually modified to work under the UCSD Pascal language, which is markedly different from regular Pascal (and indeed, any other Pascal).
I have restored, and will continue to restore, the occasional source program and post it here. Typically, this occurs by either taking a USUS copy and restoring it to original form, or taking the OCR forms and reformatting them. Sometimes the latter solution can involve as much work as just typing the program in with reference to the PUG newsletters.
Alternately, the future may bring a better OCR program that preserves formatting. I have often believed, when looking at old computer listings, that there can be a form of OCR that both takes better advantage of the fixed formatting of such listings, and also preserves the fixed formatting in output. Such an OCR mode may not be widely available simply because of the limited interest of the subject (convertion of old software listings).