On Monday, August 18, 2014 12:13:12 PM UTC-4, Stefan Karpinski wrote:
>
> On Mon, Aug 18, 2014 at 11:56 AM, TR NS <[email protected] <javascript:>> 
> wrote:
>
>>
>> On Monday, August 18, 2014 8:45:58 AM UTC-4, Stefan Karpinski wrote:
>>>
>>> It is a convention, but it isn't required anywhere or guaranteed. You 
>>> can currently count on package names being ASCII.
>>>
>>
>> Do you expect the ASCII part will eventually change too? If I can count 
>> on ASCII, that means I can pretty much count on the fact that foreign 
>> languages such as Chinese and Arabic, that do not have capitalization, will 
>> never be used for package names. And if that's always going to be the case, 
>> then it seems like the capitalization thing may as well just be a rule and 
>> not a convention. Of course, even if such languages are eventually 
>> supported, it could still be a rule with an exception for such languages.
>>
>> I guess what I am saying, from the other way round, is if it's not going 
>> to be a rule, why even bother with the convention?
>>
>
> The ASCII part seems like a good thing to stick to. Unicode support for 
> file names is not universal yet and is very likely to cause problems. ASCII 
> is pretty much the only thing you can count on working right in all file 
> systems.
>
> Conventions are for people, not computers. None of the operating system, 
> the language or the package manager have any reason to care if a package 
> name is uppercase or not. It's nice for people if these things are somewhat 
> consistent, however. Since module names in Julia are uppercase by 
> convention, package names are too. But there's no good reason for the 
> language or the package manager to fail if a module or package isn't 
> uppercase. Why make things more rigid than they have to be?
>
> What's the reason you want to rely on packages being capitalized?
>

In Rosoman's Require.jl (https://github.com/jkroso/Require.jl) it would be 
nice if `@require foo` could mean local file, and `@import Foo` could mean 
a package. One can still use `@import ./Foo` to force local lookup if need 
be.  If the capitalization convention is close enough to being a rule to 
make no significant practical difference, then this would work and it would 
be nice b/c the code would read a little better. But if not, local imports 
will always have to have to be in the form of  `./foo`.

Reply via email to