Naming conventions for functions in similar modules

SimonM user at example.net
Thu Jun 23 00:58:02 PDT 2011


On 2011/06/23 00:22 AM, SimonM wrote:
> On 2011/06/22 19:16 PM, Andrei Alexandrescu wrote:
>> On 6/22/11 11:53 AM, Walter Bright wrote:
>>> On 6/22/2011 4:47 AM, Lars T. Kyllingstad wrote:
>>>> One problem: std.uni only contains functions for dealing with upper/
>>>> lower case and for checking whether something is an alpha character. If
>>>> you want the other functions, such as isDigit(), isPunctuation(), etc.
>>>> you still have to import std.ascii. And once you have imported both
>>>> std.uni and std.ascii, you are forced to disambiguate every time you
>>>> call
>>>> a function which exists in both.
>>>
>>> True, but I don't see much of an improvement of:
>>>
>>> toAsciiLower()
>>>
>>> over:
>>>
>>> std.ascii.tolower()
>>>
>>> at least as far as typing goes.
>>
>> One improvement would be to relax package lookup such that
>> ascii.tolower() is a synonym for std.ascii.tolower. That way everything
>> works reasonably nice out of the box.
>>
>>
>> Andrei
>
> I'd just prefer the user to do the following (think it should already
> work, unless I'm missing something?):
>
> import std.ascii;
> alias std.ascii ascii;

Oh! Forgot about this:
import ascii = std.ascii;

It's already part of the current module system, is only necessary when 
there are name clashes, and allows the user to choose if they want their 
code to be readable, or shorter to type.

>
> ascii.toLower();



More information about the Digitalmars-d mailing list