"Programming in the large" involves quite different issues from "programming in the small" (which concerns itself with such things as syntax, control structure and data structures): The over-riding concern of programming in the large is the division of the program as a whole into modules which are simple enough, and isolated enough, to be comprehended and maintained.
One of the key Muq tools provided to support programming in the large is the package, a construct which the Lisp community has developed and refined through decades of experimentation and experience. Muq packages allow you to group together a related set of functions and data structures, to provide a name (in fact, several names) for the complete assemblage, to specify which components are intended for direct external use (versus which are intended to be hidden internal support), and to identify in a convenient and structured way the other packages needed by a given package.
Muq packages can be used to implement code libraries, encapsulate application programs, delimit personal workspaces, and meet a myriad other needs to group functions and/or data conveniently.
Go to the first, previous, next, last section, table of contents.