The DOMAIN Language System is a software development environment that
includes FORTRAN 77, Pascal, Lisp, and C language compilers, plus tools to
assist the software professional.  The high degree of commonality among 
the compilers and tools lets users write different portions of large 
programs in the most appropriate language, the combine them into a 
single program.  This commonality also improves Language System reliability
since fewer software components are affected in its maintenance and
extension.
    Because the DOMAIN Language System's common code generator seperates
pure, position-independent code from impure data areas, all DOMAIN 
programs are re-entrant.  Re-entrancy allows multiple concurrent process-
es to share common 1024-byte program pages for more efficient use of
main memory.  The pure/impure separation also supports network-wide
demand-paging by minimizing the number of pages that must be written
back to disk.
    The DOMAIN systems's large virtual address space and reentrant code
also lead to better performance.  A user's program can call upon system
services without incurring the cost of a context switch because both
program and the shared global operating system code occupy a common
process address space.

The DOMAIN Language System's binder resolves references among separately
compiled object modules.  Because the binder's input format is identical
to its output format, an object module can be passed through it any
number times to discover and resolve function and subroutine references 
can be executed directly, without ever performing a binding step.