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

Reply via email to