The MDL Programming Environment
The MDL Programming Environment (Lebling, 1980)
The second MDL manual -- the companion to docs/mdl/ (The MDL Programming Language, Galley & Pfister). It documents what the language manual omits and defers to "Lebling (1979)": the package system (PACKAGE/ENTRY/USE/...), the EDITor, pretty-printer (PPRINT/PP), TRACE, monitors, CRITIC, the library system (USE-DEFER/USE-TOTAL/DBMAIN), the compiler interface (COMBAT/COMPILE), and GLUE/PDUMP/SUBRFY.
- Start at
index.mdfor the chapter split. MDL_Programming_Environment.pdfis the original scanned PDF (P. David Lebling, MIT LCS, May 1980; 142 pp). It is the source of record.
The PDF is authoritative whenever a word, form, or page layout looks suspect.
How these files came to be, and how to change them
The chapters began as a tesseract OCR pass over the PDF, cleaned by a generator script, and were then audited page by page against the scan (audit completed 2026-08-28). Both the raw OCR layer and the generator have been retired, because the audit left the chapter files better than any rerun of that pipeline produced: regenerating wholesale was tried and reverted, since it discarded hand corrections it could not reproduce.
So the chapter files here are now the text itself, edited by hand, not the
output of anything. That includes index.md, 09-print-index.md and this
README, all of which the retired script used to write.
If a wholesale re-transcription is ever wanted, start from a fresh scan of the PDF with a current OCR engine. Do not resurrect the old layer: it encoded one 2026 tesseract run and a thousand lines of repairs specific to that run's mistakes, and nothing in it is worth carrying forward. Both files remain in git history if a comparison is ever needed.
Transcription and correction conventions
- OCR restoration is silent. Fixing what the scanner misread --
Mnt.toMDL,tGto^G, dropped punctuation -- restores the print and carries no annotation. The per-chapter.origintermediates were removed once the cleaning was verified against the page images (two mis-restorations found and fixed in that pass: ch05 had flattened the print's "you must^Gthe compilation" into "run", and ch06 had turned "a creator of TEMPLATEs" into "a generator"). - Content corrections are visible. Anywhere the text is changed to say
something the PRINT does not say -- correcting the manual's own error,
noting a divergence -- mark it inline as
original textfollowed by the correction, or add a separate note box explaining what was changed and why.09-print-index.mdis the one wholesale reconstruction, and it says so in its own header. - The title page in
00-front-matter.mdis page 1 of the scan, laid out to match the companion volume indocs/mdl/. A note on the page records that.