Next: , Up: Hierarchical Packages   [Contents][Index]


2.4.1 Introduction

The Common Lisp package system, designed and standardized several years ago, is not hierarchical. Since Common Lisp was standardized, other languages, including Java and Perl, have evolved namespaces which are hierarchical. This document describes a hierarchical package naming scheme for Common Lisp. The scheme was proposed by Franz Inc and implemented in their Allegro Common Lisp product; a compatible implementation of the naming scheme is implemented in CMUCL. This documentation is based on the Franz Inc. documentation, and is included with permission.

The goals of hierarchical packages in Common Lisp are:

In a nutshell, a dot (.) is used to separate levels in package names, and a leading dot signifies a relative package name. The choice of dot follows Java. Perl, another language with hierarchical packages, uses a colon (:) as a delimiter, but the colon is already reserved in Common Lisp. Absolute package names require no modifications to the underlying Common Lisp implementation. Relative package names require only small and simple modifications.


Next: Relative Package Names, Up: Hierarchical Packages   [Contents][Index]