Programming Language for Old Timers

by David A. Moon
February 2006 .. September 2008

Comments and criticisms to dave underscore moon atsign alum dot mit dot edu.

Previous page   Table of Contents   Next page

Residential Semantics

The language semantics are as if a residential environment is being used, i.e. the compiler coexists with the user program in the same object space. New code can be constructed at run time and compiled into the environment of the running program.

---TBD here is where I explain the eval and compile functions and the facilities for manipulating scopes.

However, separate compilation is possible. In this case, at least the parts of the user program executed by user written macros coexist with the compiler. However, the compiler outputs a "fasl file" consisting of instructions for loading the compiled user program into another environment. Previously compiled code can be loaded into a program at run time.

For the compiler to compile itself and the runtime, there can be a special compilation environment that uses module renaming to keep the currently executing compiler and runtime separate from the new compiler and runtime that are being compiled.

Previous page   Table of Contents   Next page