
7.3.4 Using packages in interpreted and compiled code
export statements throughout several different modules. Consider the following file:;;; -*- Mode: LISP; Syntax: Common-Lisp; Package: ACE; ;;; Base: 10 -*- (in-package "ACE") (defun dud::worker () ...) (export 'dud::worker "DUD")This example clearly shows an attempt to distribute the work of creating the
dud package while loading a file that is in theace package. To prevent problems resulting from minor package variations between compile time and load time, theexport command should be in the file that creates thedud package. Note that the problem with this example is not that the definition of the functionworker, whose name is in thedud package, appears in a file in theace package. Rather, it is that the specification of thedud package was not complete before theace package file was read in and processed; that is,worker was not external. Furthermore, the very way in which the Compiler prints the symbolworker found in the two places in this file is seriously affected by theexport statement at the end of the file. Thus, the compiled file might differ from the interpreted file.

Generated with Harlequin WebMaker