Re: [perl6/specs] 58fe2d: [S12] spec setting and getting values of attribute...

2010-10-12 Thread Carl Mäsak
Logbot (): [S12] spec setting and getting values of attributes by means of introspection After lengthy IRC discussion, we concluded that it's a good idea to provide some form of introspection that doesn't bother about perceived privacy borders, provided that the implementation makes it

Re: [perl6/specs] 58fe2d: [S12] spec setting and getting values of attribute...

2010-10-12 Thread Carl Mäsak
Carl (): == About C.perl The choice here was between letting C.perl display only public attributes, or keeping it the way it is, displaying public as well as private attributes. The former is potentially a great help for debugging; the latter respects the normal-OO level of privacy. Oops,

Re: [perl6/specs] 58fe2d: [S12] spec setting and getting values of attribute...

2010-10-01 Thread Peter Scott
On Thu, 30 Sep 2010 23:40:39 +0200, Jonathan Worthington wrote: Plus, we probably do need *some* way for folks to write serializers in standard Perl 6. ^ This. I faced precisely this problem when trying to write persistent inside-out classes with Class::Std. There was no way to break

Re: [perl6/specs] 58fe2d: [S12] spec setting and getting values of attribute...

2010-09-30 Thread Damian Conway
On 30 September 2010 06:09, Moritz wrote: After lengthy IRC discussion, we concluded that it's a good idea to provide some form of introspection that doesn't bother about perceived privacy borders, provided that the implementation makes it feasible. Wow, that's the first time I've ever been

Re: [perl6/specs] 58fe2d: [S12] spec setting and getting values of attribute...

2010-09-30 Thread Carl Mäsak
Moritz in the spec (), Damian (): After lengthy IRC discussion, we concluded that it's a good idea to provide some form of introspection that doesn't bother about perceived privacy borders, provided that the implementation makes it feasible. Wow, that's the first time I've ever been sorry not

Re: [perl6/specs] 58fe2d: [S12] spec setting and getting values of attribute...

2010-09-30 Thread Moritz Lenz
Am 30.09.2010 10:32, schrieb Carl Mäsak: Moritz in the spec (), Damian (): After lengthy IRC discussion, we concluded that it's a good idea to provide some form of introspection that doesn't bother about perceived privacy borders, provided that the implementation makes it feasible. Wow,

Re: [perl6/specs] 58fe2d: [S12] spec setting and getting values of attribute...

2010-09-30 Thread Damian Conway
Carl wrote: For what it's worth, we had exactly this discussion a couple of days ago on IRC. I represented your views above, Damian. Thank-you for that. As long as C.perl works the way it does, there can be no real privacy. Sigh. That is indeed badly broken. Surely it ought to default to

Re: [perl6/specs] 58fe2d: [S12] spec setting and getting values of attribute...

2010-09-30 Thread Damian Conway
Moritz wrote: To re-iterate, Perl 6 has no real privacy by default -- both the default .new and .perl methods give you access to private attributes, unless you explicitly override them. At least you *can* explicitly override them (and perhaps factor that out into a role that you could always

Re: [perl6/specs] 58fe2d: [S12] spec setting and getting values of attribute...

2010-09-30 Thread Darren Duncan
Carl Mäsak wrote: To summarize, I consider myself having lost that debate. I even demonstrate the complete unviability of my views (that privacy has any kind of footing in Perl 6) with the below one-liner. masak rakudo: class X { has $!foo; has $!bar; has $!baz }; say eval(X.new( foo = 1, bar =

Re: [perl6/specs] 58fe2d: [S12] spec setting and getting values of attribute...

2010-09-30 Thread Moritz Lenz
Darren Duncan wrote: Carl Mäsak wrote: To summarize, I consider myself having lost that debate. I even demonstrate the complete unviability of my views (that privacy has any kind of footing in Perl 6) with the below one-liner. masak rakudo: class X { has $!foo; has $!bar; has $!baz }; say

Re: [perl6/specs] 58fe2d: [S12] spec setting and getting values of attribute...

2010-09-30 Thread Damian Conway
Moritz writes: Objects that you can't do that with don't make sense to be serialized and so .perl can reasonably refuse to work on them. method perl { die Can't serialize objects of type $?CLASS, because ...; } Sure. But now the cautious programmer has to add that to *every* class

Re: [perl6/specs] 58fe2d: [S12] spec setting and getting values of attribute...

2010-09-30 Thread Jonathan Worthington
On 30/09/2010 10:49, Damian Conway wrote: As long as C.perl works the way it does, there can be no real privacy. Sigh. That is indeed badly broken. Surely it ought to default to Cdie, and require class architects to override .perl explicitly if they wish to break encapsulation. I see/use

Re: [perl6/specs] 58fe2d: [S12] spec setting and getting values of attribute...

2010-09-30 Thread Damian Conway
Jonathan wrote: Sounds like the encapsulation breaking thingy probably wants to be looking for some pragma to have been used in the lexical scope of the caller, maybe. I'd rather that we called it something other than MONKEY_TYPING though. Different evil, different pragma. :-) As long as

Re: [perl6/specs] 58fe2d: [S12] spec setting and getting values of attribute...

2010-09-30 Thread Darren Duncan
Moritz Lenz wrote: Darren Duncan wrote: I think then that .perl needs to be updated so it is more expressly limited and only works on some objects rather than on all of them. The way I see it, .perl is mainly about representing *value* objects in a serialized form, and what it should produce

Re: [perl6/specs] 58fe2d: [S12] spec setting and getting values of attribute...

2010-09-30 Thread Timothy S. Nelson
On Fri, 1 Oct 2010, Damian Conway wrote: Jonathan wrote: Sounds like the encapsulation breaking thingy probably wants to be looking for some pragma to have been used in the lexical scope of the caller, maybe. I'd rather that we called it something other than MONKEY_TYPING though. Different

Re: [perl6/specs] 58fe2d: [S12] spec setting and getting values of attribute...

2010-09-30 Thread Timothy S. Nelson
On Thu, 30 Sep 2010, Damian Conway wrote: And thus C.get_value and C.set_value are just convenient access points for the same behaviour. Yes. People are going to shoot themselves in the foot anyway, so let's legalize semi-automatic weapons as well. Well, of course! What are you, a

Re: [perl6/specs] 58fe2d: [S12] spec setting and getting values of attribute...

2010-09-30 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 9/30/10 16:46 , Moritz Lenz wrote: 1) please don't abuse MONKEY_TYPING for anything that might look like dangerous If Perl 6 is still Perl then in some sense it implies that dangerous is accepted practice. :) That said... 2) I find .perl

Re: [perl6/specs] 58fe2d: [S12] spec setting and getting values of attribute...

2010-09-30 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 10/1/10 00:31 , Brandon S Allbery KF8NH wrote: As for serializeability, I think .perl is being used for two different things and we need to separate them. If it's there for debugging, you want Addendum, since as I reread my message it looks a