std.locale
Andrei Alexandrescu
SeeWebsiteForEmail at erdani.org
Sun Mar 1 20:50:53 PST 2009
Walter Bright wrote:
> Andrei Alexandrescu wrote:
>> Walter Bright wrote:
>>> Andrei Alexandrescu wrote:
>>>> There will be a global reference to a Locale class, e.g.
>>>> defaultLocale. By default the reference will be null, implying the C
>>>> locale should be in effect. Applications can assign to it as they
>>>> find fit, and also pass around multiple locale variables.
>>>
>>> I disagree with being able to assign to the global defaultLocale.
>>> This is going to cause endless problems. Just one is that any
>>> function that uses locale can no longer be pure. defaultLocale should
>>> be immutable.
>>>
>>> Any function that is locale aware should be parameterized with a
>>> locale parameter. (Not only is that better design, it self-documents
>>> the dependency.)
>>
>> I don't understand this. That means there's no more default locale.
>> Here's what I had in mind:
>>
>> class Locale { ... }
>>
>> // function parameterized with an optional locale
>> void foo(Data d, Locale loc = null);
>>
>> So there's no more default locale. If you pass in null, that's the
>> default locale.
>
> That's fine, I was thrown off by your reference to a "global reference".
Well I was thinking a global reference might be handy for people who
e.g. want to set the locale once and then be done with it. I think only
a few apps actually manipulate multiple locales simultaneously. Most
would just want to load the locale present on the user's computer and
then use it.
Andrei
More information about the Digitalmars-d
mailing list