A slight improvement of the analysis code reveals that many of the forms that make an ASDF system impure are actually redundant, as is the case of defpackage forms or perform-after (typically for pushing features), which may be moved into separate lisp files or integrated into existing sources.<br>

<br>;;;<br>;;; Concept                # of systems  # of forms<br>;;; ---------------------- ------------  ----------<br>;;; Total packages:              515<br>;;; Ok packages:                 173<br>;;; Impure ASDF files:           342<br>

;;;   Multiple defsystems:       200         400<br>;;;   Defpackage forms:          266         270<br>;;;     system package:          246         246<br>;;;     test package:              7           7<br>;;;     others:                   17          17<br>

;;;   Defmethod forms:           151         325<br>;;;     perform after:            28          28<br>;;;     test operation:           92         123<br>;;;   Defclass forms:             98         174<br>;;;   Unknown forms:              37          58<br>

;;;   Eval-when forms:            41          67<br>;;;<br><br><br>-- <br>Instituto de Física Fundamental, CSIC<br>c/ Serrano, 113b, Madrid 28006 (Spain) <br><a href="http://tream.dreamhosters.com">http://tream.dreamhosters.com</a><br>