[racket] Confused by augment and inner

From: Gregory Woodhouse (gregwoodhouse at me.com)
Date: Mon Sep 24 02:31:48 EDT 2012

I am trying to understand how augmentable methods (as described in section 13.5 of The Guide) work.

Between the extremes of allowing arbitrary overriding and disallowing overriding entirely, the class system also supports Beta-style augmentable methods [Goldberg04]. A method declared with pubment is like public, but the method cannot be overridden in subclasses; it can be augmented only. A pubment method must explicitly invoke an augmentation (if any) using inner; a subclass augments the method using augment, instead of override.

Posted on the users mailing list.