Faré <fah...@gmail.com> writes: > On Thu, Mar 27, 2014 at 12:30 PM, Robert Goldman <rpgold...@sift.net> wrote: >> Zach Beane wrote: >>> Faré <fah...@gmail.com> writes: >>> >>>> femlisp raises an interesting issue: it has (setq >>>> *READ-DEFAULT-FLOAT-FORMAT* 'double-float) in setup.lisp, which is >>>> cancelled by the with-standard-io-syntax that I introduce in my >>>> syntax-control branch. I just pushed a change in said branch to make >>>> the 'double-float the default in with-asdf-syntax, which I believe is >>>> a more useful convention than what the standard provides. >>> >>> I don't like the idea of ASDF setting a different >>> *READ-DEFAULT-FLOAT-FORMAT* value during ASDF operations than it will >>> have in the REPL, during plain loading, or compile+loading individual >>> files outside of ASDF. >>> >>> Zach >>> >> >> I second this dispreference. As an old-school lisper, used to working >> extensively on incremental development in the editor buffer, and even in the >> REPL, this seems bad to me. The errors it will lead to will be odd corner >> cases, bewildering to ordinary programmers not versed in the fussy details >> of ASDF implementation. Put yourself in such a programmer's shoes, when >> his/her code that worked fine in the repl breaks in ASDF, or vice versa. >> What's the debugging process? >> >> Maybe the default is undesirable, but it's not our job to patch all the >> undesirable features of Common Lisp. >> >> The more divergences between CL-in-ASDF and CL that are introduced in this >> branch, the more likely it is that it will have to live on as a permanent >> fork and not be merged. >> > I also have this preference, but I slightly disagree on how to resolve it. > > femlisp side-effects *READ-DEFAULT-FLOAT-FORMAT*, which means that > every system compiled after it will be treated differently than if it > were compiled before it — and once again, whoever writes the system > does not and cannot control the order in which things are compiled, > which ultimately depends on what toplevel system the user operates on > and what systems have or haven't already been compiled (and are up to > date) before he operates on that toplevel system. This means that the > semantics of your system are already dependent not just on the REPL > but also other uncontrolled and uncontrollable state. This is not > desirable.
I do have control: If femlisp or any other library makes a boneheaded decision that breaks my software, I can stop using it. That is less of an option with ASDF. Zach