Enforcing assumptions

Stelian Ionescu sionescu at cddr.org
Fri Sep 23 23:44:08 UTC 2016


On Fri, 2016-09-23 at 18:32 -0500, Robert Goldman wrote:
> On 9/23/16 Sep 23 -6:24 PM, Stelian Ionescu wrote:
> > > So, ok, what IS it about an ASD file, that is not DEFSYSTEM, that
> > > > must
> > > > be evaluated inside LOAD-ASD? If it's just "you could wreck the
> > > > syntax
> > > > behind my back," yeah, that's true, but you could wreck the
> > > > syntax
> > > > behind my back and wreck the library I'm loading, too, so why
> > > > is it
> > > > ASDF's job to fix that here?  If LOAD is broken, why is it our
> > > > job to
> > > > make LOAD-ASD and fix a tiny corner of the problem?
> > Because unless you have the resources to fix the language in a
> > major
> > way, you can only do small incremental improvements. Very
> > pragmatic.
> > Not ideal.
> 
> But my claim is that it is NOT an improvement if you turn a language
> which is incrementally compilable into a language that only works if
> you
> load it through LOAD-ASD.
> 
> What we have done with LOAD-ASD is to take away code that is runnable
> with compile-sexp and replace it with code that is only runnable with
> LOAD-ASD.
> 
> It's obviously exaggerating, but it's a step towards taking what
> makes
> CL great, and taking that away and giving us C instead.
> 
> Now, of course, people like me can put our packages in our asd files
> and
> things should keep working, but what's the contract with the
> programmer
> here?
> 
> Are we going to shove more stuff into LOAD-ASD, further divorcing the
> ASD-dialect from mainstream CL?
> 
> Anyway, here's my proposed solution:
> 
> 1. Don't enforce the use of LOAD-ASD.  Probably people can understand
> this well enough.

Enforce it but add a way to disable it, but not a simple dynamic
variable. A new function, e.g.

(setf (asdf:flag :enforce-load-asd) nil)

And a way for the programmer to query the current set of ASDF flags.

-- 
Stelian Ionescu a.k.a. fe[nl]ix
Quidquid latine dictum sit, altum videtur.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: This is a digitally signed message part
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20160924/f77ca47a/attachment.sig>


More information about the asdf-devel mailing list