Enforcing assumptions

Faré fahree at gmail.com
Fri Sep 23 14:52:49 UTC 2016


1- The requirement to always use make-operation currently only applies to
code within ASDF itself and well-behaved extensions. Before you enforce it
more widely, you have to make sure no one in Quicklisp does it. You could
have shared initialize check that: a) no instance of that class with given
initargs exists yet in *operations* and hopefully b) there initargs are
always null (goodbye, make-build!)

2- No, there was never a requirement that defsystem should only be used
within a .asd. Actually, the test system relies heavily on the opposite.
The requirement is that .asd files be loaded in the correct context, by
load-asd -- notably, the correct *package* must be bound, the correct
readtable, etc.



On Fri, Sep 23, 2016, 09:49 Robert Goldman <rpgoldman at sift.net> wrote:

> I have been working on enforcing assumptions recently added to the ASDF
> docs.  Specifically, that OPERATION instances only be created by
> MAKE-OPERATION and SYSTEMs only be parsed inside LOAD-ASD.
>
> I should have a merge request up for review soon, but find that it's
> more tricky than I expected, because we don't even play by the rules
> ourselves!  Specifically, there are calls to MAKE-INSTANCE on OPERATIONs
> in the ASDF codebase itself.
>
> Cheers,
> r
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20160923/f3e3c03e/attachment.html>


More information about the asdf-devel mailing list