On 4/7/2016 8:05 PM, Rowan Collins wrote:
> Fleshgrinder wrote on 07/04/2016 18:35:
>> I would like to change above definition for properties since the*var*
>> deprecation was voted negative:
>>
>> # Properties
>> private   := limited to the current class
>> protected := limited to the current and child classes
>> var       := limited to the current assembly
>> public    := global
> 
> I'm not convinced of the value of reusing the keyword in this way. To
> me, there is nothing in the term "var" that means "slightly less than
> public", and if we want to have package/assembly/whatever visibility, we
> should reserve a new keyword for that use.
> 

The original definition was

    # Properties
    private   := limited to the current class
    protected := limited to the current and child classes
              := limited to the current assembly
    public    := global

In other words: same as Java without any modifier. I only changed the
proposal because var is to be kept and the current semantic of it
(implicit public) but not being truly equal motivated me to change the
proposal and to give it a new meaning.

Note that the meaning of *var* does not change for old classes that are
not using the proposed access/visibility keyword because they are in the
global namespace and thus implicitly public. Hence, the special *var*
case would finally get a real meaning and would not be an alias anymore.

On 4/7/2016 8:05 PM, Rowan Collins wrote:
> Meanwhile, it might be worth checking the list archives for previous
> discussions of package visibility; I know it has come up a couple of
> times recently, in various forms, so it would be good not to repeat the
> same points again and again.
> 

I check what I can dig up. :)

-- 
Richard "Fleshgrinder" Fussenegger

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to