[plt-scheme] new documentation needed for 'augment'able methods?
This is certainly a problem in general (both for augmentable and
overridable methods), but in the case of the can-...? methods that are
augmentable, you can feel pretty secure that they look like:
(and ...some condition... (inner #t can-...?))
In any case, if you have problems now, discovering them should be
easier -- you new method won't work (rather than you are breaking some
old code).
Robby
At Tue, 28 Sep 2004 17:03:17 -0400, John Clements wrote:
> ------------------------------------------------------------------------------
> The new class system shifts the balance of power for some class
> operations to the superclass. That is, classes can now provide
> 'pubment' methods which call their augmentations at their whim. As a
> subclass-er, however, I find that I'm now lacking some documentation.
> In particular, suppose I'm providing an 'augment' to a text% method,
> say 'on-insert'. But... will my result be used as the result of the
> whole method? In other words, does the parent definition return the
> result of the (inner ...) call? In the old system, I could cover
> myself by just calling the 'super' method last whenever I had some
> stateful behavior to tack on to a method. Now, I'm less certain what
> the conservative approach is.
>
> I see that there's a parallel problem with the old system: where do you
> make the super call? But it seems to me that the new system may wind
> up being more tricky.
>
> In the case of on-insert, that result is (void), so I'm not worried.
> But in general, it seems to me that this opens up a new can of worms,
> which is properly addressed only by additional documentation on all
> 'augment'able methods.
>
> john
>
> ------------------------------------------------------------------------------
> [application/#f "smime.p7s"]