Another follow-up from yesterday's doc reviews

Robert Goldman rpgoldman at sift.net
Thu Sep 22 19:24:25 UTC 2016


On 9/22/16 Sep 22 -2:07 PM, Stelian Ionescu wrote:
> On Thu, 2016-09-22 at 14:04 -0500, Robert Goldman wrote:
>> On 9/22/16 Sep 22 -1:56 PM, Stelian Ionescu wrote:
>>>> The comments in the file say that we *must* use load-asdf to load
>>>> a
>>>> .asd file, but not *WHY* we must do so.
>>>>
>>>> Why is this necessary?
>>>
>>> Because asdf:load-asdf sets up the correct evaluation environment,
>>> including setting the correct *package*.
>>>
>>
>> OK, again, if this is required, why don't we ENFORCE it?
> 
> Because in some specific cases it could be made to work without it (all
> ASDF symbols package-prefixed, etc...) and some old-timers complained
> that we're breaking their dev workflow if we make it impossible to
> reload an .asd using C-c C-c or cl:load
> 

I'm one of those old-timers, TBQH.  I interactively compile a lot of
code, and I don't see why DEFSYSTEM forms should be different.

I'm not a big fan of making stuff that looks like CL code, but doesn't
*behave* like CL code.

If we can't LOAD a file with a DEFSYSTEM form, or EVAL a DEFSYSTEM form,
why do we READ them?  Why don't we make DEFSYSTEM forms NOT be legal CL
forms?

I don't want ASDF to turn into a minefield of assumptions that require
its users to carefully read the source to use it properly, because
things that are otherwise sensible cause random stupid things to happen.

So: let's either ENFORCE the use of LOAD-ASD or let's get rid of it.
Not enforcing it if it needs enforcing is the bad midpoint on this
continuum.





More information about the asdf-devel mailing list