I agree with Xach that backward compatibility is important, and I am
working very hard to make it happen, for which I must credit the
valuable help of stassats and avodonosov.
If Xach does not see benefits to ASDF3, it's because he's looking
where they aren't. More than half the bugs reported before 2.26 have
been fixed (there were about thirty, about ten now, mostly wishlist
items), including deep ones that required a big refactoring. The test
suite was vastly improved and extended, though it's still lacking,
ensuring asdf is generally more robust and portable. asdf-bundle was
merged in, which should make Xach happy on ECL, but will have
applications to sbcl contribs, and already includes portable creation
of standalone executable programs. Portable functionality for image
dump/restore hooks, run-program, backtraces. Yet vastly improved
pathname portability layer, with enhanced support for
*resolve-symlinks* nil or for logical-pathnames. deferred-warnings
support for a virtual with-compilation-unit around system compilation.
Distinguishing :force t and :force :all (and same for :force-not).
Supported :if-feature replacement to the ugly :if-component-dep-fails.
FOO/BAR/BAZ names for systems defined in foo.asd. convenience methods
so you can (perform 'load-op '(system module component)). Better
support for inline-methods. User-control on condition muffling.
Ability to read the version read from a file. More robust
self-upgrade. A separate yet bundled portability, upgradability and
runtime layer asdf/driver. Plus plenty of portability fixes on all
platforms. These are just the most user-visible improvements. Not to
talk about the traverse algorithm that doesn't completely suck
anymore, which prompted the big rewrite.
As for stability, I still believe that ASDF 3 is stable enough to be
adopted by implementations, although the recent issue of syntax tables
breaking iolib 0.7.3 (latest release modifies global *readtable*, yuck
- but head is clean) and defdoc (modifies global
*print-pprint-dispatch*, yuck) makes me recommend the just released
ASDF 2.30 over 2.29 at this point, for better backward compatibility.
For the record, a recent run of cl-test-grid with asdf 2.29.5 yielded
Many of them have already been fixed upstream, all of them require
fixes to the respective libraries, and some of them are not actually
asdf-specific (i.e. teepeedee2, irc-logger, clem-benchmark or
hu.dwim.reiterate), whereas 2.30 includes backward-compatible fixes
for defdoc (and after it nst, userial-tests).
I believe that is not damning, and there are even cases of actual
improvement (such as for qt and its clients). [NB: for asdf 2.29, add
iolib 0.7.3 as a casualty, which I believe *is* damning.]
Note however that the above cl-test-grid was with deferred warnings
support disabled. When it's enabled, SBCL (and CCL, CMUCL, SCL,
Allegro) will catch more warnings and fault more systems (cl-test-grid
results coming tomorrow); but that's actually a feature and
undisputably bugs in those systems that should and will be fixed
promptly. I will have cl-test-grid report tomorrow about the level of
breakage in quicklisp due to deferred warnings now being checked by
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
>From a programmer's point of view, the user is a peripheral that types
when you issue a read request. — P. Williams
On Wed, Feb 20, 2013 at 2:32 PM, Attila Lendvai
>> The old system relied upon the programmer to notice dependency changes
>> and force appropriately, with feedback that could often be far from
>> clear about what was going wrong. IMO, this was an inappropriate
>> payment of (potentially very large numbers) of programmer cycles
>> (expensive) for machine cycles (cheap).
> it bit me several times... it made me pick up a habit that if i
> encountered any baffling error, then i deleted all the fasls,
> recompiled everything, left for a tea, and tested the error again when
> i got back.
> just one more 0.02,
> Notice the erosion of your (digital) freedom, and do something about it!
> PGP: 2FA1 A9DC 9C1E BA25 A59C 963F 5D5F 45C7 DFCD 0A39
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> Sbcl-devel mailing list