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 hierarchy. So we start to see endless variations on: role ProperlyEncapsulated { method perl {die} } class MyClass does ProperlyEncapsulated {...} class AnotherClass does ProperlyEncapsulated {...} class YetAnotherClass does ProperlyEncapsulated {...} which would be a sad indictment on Perl 6's otherwise brilliant OO model (and will encourage all the OO bully languages to publicly kick sand in our face). > My proposal: the default .perl method should only spit out value for > public attributes, ie those that have accessors. I'd be happy with that. > Maybe .new should also default to his behavior. I'd be happy with that too. >> Then Damian's position (which I support) is supported and so are monkeys. > > Ook ook! "Apes! I meant apes!!!" ;-) > Moritz > (who actually writes Perl 6 code on a nearly daily basis). Damian (who does too)