Subject: Re: ANSI question (load evaluation order)
From: (Rob Warnock)
Date: Wed, 04 May 2005 00:37:07 -0500
Newsgroups: comp.lang.lisp
Message-ID: <>
Nicolas Neuss  <> wrote:
| Pascal Bourguignon <> writes:
| > CLHS says clearly that:
| > defun is not required to perform any compile-time side effects. In
| > particular, defun does not make the function definition available at
| > compile time. An implementation may choose to store information about
| > the function for the purposes of compile-time error-checking (such as
| > checking the number of arguments on calls), or to enable the function
| > to be expanded inline.
| As much as I see the problem lies not at compile-time (COMPILE-FILE works),
| but at load-time.

Uh... You *do* understand that if your example is COMPILE-FILE'd
that the ASSERT will not run until *load* time, yes?

[Hint: Try MACROEXPAND on your ASSERT form and look at what the
"top-level" compile-time behavior of the resulting expansion is...]


Rob Warnock			<>
627 26th Avenue			<URL:>
San Mateo, CA 94403		(650)572-2607