On Thu, Oct 03, 2002 at 02:29:57PM -0700, Michael Lazzaro wrote: > One question I still have is the syntax of pre/post conditions, e.g: > > > method turn($direction, $how_sharp) { > > pre { $how_sharp <= 20 } is private; > > ...implementation... > > } > > This is obviously how it would fall out from Apocalypse 4, "pre/post" > being basically types of exception, but I keep having nagging concerns > about it. To me, this keeps looking like "pre { ... }" is a > precondition attached to the _implementation_ of the given method, not > the _signature_ of a given method...
I don't know, but I think it's supposed to be like this: # part of the signature method turn($dir,$ang) is pre { $ang <= 20 } { ... } # part of the implementation method turn($dir,$ang) { PRE { $ang <= 20 } ... } turn() methods of derived classes would inherit the precondition in the first case but not the second. I don't know why you'd want to do this exactly, but it seems to me that perl should allow it. > On Thursday, October 3, 2002, at 01:11 PM, Allison Randal wrote: > > BTW, that's: > > attr $.tilt; > > Attributes are private by default. > > (As a lame aside, are we going to have a concept of "private" vs. > "protected" vs. "public", or just private/public? (In other words, > does "private" permit access by subclasses?) Not recommending it, just > wondering if anyone thinks we need it.) I don't think we should be actively reproducing C++'s mistakes :-) With the constructs shown so far, I can guess that it should be possible for someone to implement "protected" if they wanted it. -Scott -- Jonathan Scott Duff [EMAIL PROTECTED]