Documentation
Documentation
Index of the pymdl documentation: the book, the two era manuals, and what each is for.
Three books. The first is written around the implementation; the other two are the era manuals it reproduces, vendored here as the sources and the final authority on what they said.
| The pymdl book | 38 chapters and 10 appendices: pymdl itself, the language as pymdl has it, the environment, and the parts no era manual could describe -- the PDP-10 emulator, the compilers, the assembler, and how the era is asked. |
| The MDL Programming Language | Galley & Pfister, MIT LCS, May 1979. Releases 55 (ITS) and 105 (Tenex). The language manual. |
| The MDL Programming Environment | Lebling, MIT LCS, May 1980. The package system, the editor, the debugging tools, the library system, the compiler and the assembler. |
Which to read
Read the book to use pymdl. It is intended to contain all the material from both earlier books, edited into a coherent account of pymdl, plus the compilers, emulator, and archived files. You should not need the earlier books to supply a missing explanation. The reading guide introduces its organization; appendix E collects recorded differences and discoveries.
Read a manual when the question is what the era said, exactly. The book
marks technical corrections visibly (struck text followed by the correction), so
the manuals are where the uncorrected print is.
How these files are checked
Every fenced mdl block in the book is executed against a fresh interpreter by
tests/test_book_examples.py; a block marked mdl-x is shown but not run. The
manuals' own worked examples run in tests/test_manual_examples.py. Where a
manual is silent, MDL 55 itself is asked under a simulator and the answer
becomes a test.
The site
These files are the source. The site at
https://nyxcraft.github.io/pymdl/ is built from them by
gh-pages/; see that README for the layout, how to
build locally, and how a book is put together.