The MDL Programming Environment

Chapter 1. Overview of the MDL Programming Environment

The parts of the MDL programming environment described in this document are primarily those dealing with the writing, debugging, sharing, and maintenance of code and programs written in MDL. Most of the packages described herein are written in MDL themselves: some are assembly language programs useful to MDL programmers. The document is divided into chapters dealing with the major issues facing the novice (or even the experienced) MDL programmer.

  • 'The Package System' introduces the standard mechanism for lexical blocking and therefore, sharing of MDL code. Understanding its use is fundamental to writing MDL programs.
  • 'Program Writing and Debugging Aids' is the largest chapter. It covers mechanisms for loading, dumping, editing, and debugging MDL code, whether interpreted or compiled, in a development or a production environment.
  • 'The Library System' discusses the usage of libraries of MDL programs.
  • 'The Compiler' includes the specifics of interaction with the MDL compiler, as well as an overview of the theory behind its operation.
  • 'Making It Run Faster' covers the various methods for speeding up 'production' MDL code by removing mediated calls and compacting data structures.
  • 'The Assembler' documents the MDL assembler and some methods of debugging binary code.
  • 'Informational Aids' discusses a few programs, most written in assembly language rather than MDL, which are useful to the MDL programmer.