develooper Front page | perl.perl6.language | Postings from May 2005

Re: $:attr vs $.:attr

Thread Previous | Thread Next
From:
Juerd
Date:
May 16, 2005 03:23
Subject:
Re: $:attr vs $.:attr
Message ID:
20050516102305.GT18368@c4.convolution.nl
Aaron Sherman skribis 2005-05-16  5:54 (-0400):
> On Sun, 2005-05-15 at 19:18 +0200, Juerd wrote:
> > Now:
> > 	Declaration	Explicit	Implicit $_	$?SELF
> > 	has $.var | 	$obj.var \	.var \		./var \
> > 	has $:var |	$obj.:var \	.:var \		./:var \
> > Consistent:
> >  	has $.var \	$obj.var \	.var \		./var \
> >  	has $.:var \	$obj.:var \	.:var \		./:var \
> > See it yet? It's about consistency in the whole scheme, not the clarity
> > of a single element.
> I'm not sure I see that you changed anything other than changing "Old
> way" to "Now", "Your proposal" to "Consistent", adding separator
> characters between the columns, and removing the word "Implicit" from
> the last column.

Okay, let's try it differently, then:

Now:
	Declaration	Explicit	Implicit $_	$?SELF
	     .    | 	    .    \	.    \		.     \
	     :    |	    .:    \	.:    \		. :    \

Consistent:
 	     .    \	    .    \	.    \		.     \
 	     .:    \	    .:    \	.:    \		. :    \


> I think you're confusing the method glyph "." and the attribute glyph,
> also "." in the first and second columns.

It's the same thing. $.foo installs an accessor *method*. $object.foo
calls that method, it doesn't access $object's $.foo directly.

> > Note that it's not *implicit* $?SELF. "./" is a prefix operator that
> > calls a method on $?SELF
> That's picking nits.

In the process of designing something, every single nit must be picked.
Don't take it personally.


Juerd
-- 
http://convolution.nl/maak_juerd_blij.html
http://convolution.nl/make_juerd_happy.html 
http://convolution.nl/gajigu_juerd_n.html

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About