On Thu, May 4, 2017 at 2:35 PM, Robert Goldman rpgoldman@sift.net wrote:
On 5/4/17 May 4 -1:17 PM, James M. Lawrence wrote:
As I said, LispWorks PE provides an old ASDF. To verify this,
- download LispWorks Personal Edition
- launch it
- (require "asdf")
- (asdf:asdf-version)
Again, I am writing on behalf of users, not myself personally. I don't use LispWorks PE or any LispWorks version for development. Others use LispWorks PE. Some do so to evaluate not only LispWorks but Common Lisp as a language. It seemed reasonable to prevent them from getting into a borked state, if possible (and not too difficult or annoying).
I'm not sure what is the proper solution. Should we detect this kind of condition and raise an error if ASDF is not reconfigured after an upgrade?
R
If you have consideration for the end-user experience in mind, then you should emphasize, underline, asterisk, and caps-lock shout that install-asdf.lisp should be run before doing anything else. Given the circumstances, that seems like the best you can do.
Don't even suggest doing a live "upgrade", if you have consideration for end-users, since no user will expect an upgrade feature to purposefully bork things. That doesn't match what the word "upgrade" generally means. To the general end-user who adds the quicklisp init code to their init file and doesn't otherwise bother with asdf (I suspect this is the vast majority of users), it's just a way to break quickloading for some unknown reason. (And it's not clear that there is *any* practical use case for it -- see my previous message starting at "I don't know why the on-the-fly feature exists".)
Yes, I get that LispWorks shouldn't be bundling an old asdf. Yes, I get that Quicklisp shouldn't be bundling an old asdf. Yes, I get that Quicklisp shouldn't be using the central registry. Yes, I get that LispWorks PE is not for serious use. And so forth. I am addressing how the lisp ecosystem actually exists today, as opposed to how developers wish it to be. I am looking at the experience of end-users, not me personally.