Subject: Re: ANSI question (load evaluation order)
From: rpw3@rpw3.org (Rob Warnock)
Date: Wed, 04 May 2005 00:37:07 -0500
Newsgroups: comp.lang.lisp
Message-ID: <kcOdndORCdAewuXfRVn-jw@speakeasy.net>
Nicolas Neuss  <my.name@iwr.uni-heidelberg.de> wrote:
+---------------
| Pascal Bourguignon <pjb@informatimago.com> 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

-----
Rob Warnock			<rpw3@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607