On Fri, Mar 28, 2014 at 10:12 AM, Zach Beane xach@xach.com wrote:
Faré fahree@gmail.com writes:
In the end it's a matter of WHO specifies the settings for some compilation: the system author or the user.
Or, in this case, Faré.
Once it's accepted that ASDF will enforce the file type decided by the author, ASDF must have a default. And it's "lisp", not "lsp", not "cl", not "LIS", and certainly not the fleeting content of compiler::*compiler-default-type*. So yes, Dan Barlow made it "lisp". So sue him.
Once it's accepted that ASDF will enforce the file encoding decided by the author, ASDF must have a default. And it's :utf-8, not :us-ascii, not :latin1, and not uncontrollable meaning of :default. So yes, I made it :utf-8. So sue me.
Once it's accepted that ASDF will enforce the syntax variables decided by the author, ASDF must have a default for each of them. And so Robert Goldman will I hope pick a default for *read-default-float-format* that is not "whatever value that variable had at a time not fully controlled by either library author, application programmer or end-user". So sue him.
I will argue that the choice of 'double-float (which I propose) vs 'single-float (which other people defend) as default float format is analogous to :utf-8 vs :us-ascii as the default encoding: it just allows for more values with less lossy behavior for the user. Sure, 'single-float is the old de facto semi-standard from 20 years ago, the way that :us-ascii used to be. But that was never a guaranteed binding, and if we are to guarantee a default binding today, we should base the decision on today's expectations, not on expectations from 20 years ago. Now, these days, people who do actually care about floating point computations seem to prefer double by default, and single as a sometimes optimization. Why don't we have a poll with heavy floating point users, and ask them which they prefer and expect as a default? They should be the target audience for this choice. So far, my data is that neuss and gendl prefer double, and that out of 213 bindings of *read-default-float-format* in Quicklisp, by people who care, 40 explicitly demand 'double-float, and 23 explicitly demand 'single-float.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Due to circumstances beyond your control, you are master of your fate and captain of your soul.