From: Faré <fa...@gm...> - 2013-02-20 23:39:51
|
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 these differences: http://common-lisp.net/project/cl-test-grid/asdf/asdf-diff-12-2.html 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 ASDF. —♯ƒ • 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 <att...@gm...> wrote: >> 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). > > +1 > > 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, > > -- > attila > > 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: > http://p.sf.net/sfu/appdyn_d2d_feb > _______________________________________________ > Sbcl-devel mailing list > Sbc...@li... > https://lists.sourceforge.net/lists/listinfo/sbcl-devel > |