[racket] Declaring methods and fields with internal and external names

From: Harry Spier (vasishtha.spier at gmail.com)
Date: Sat Jan 12 14:50:28 EST 2013

The Racket reference says:
5.2.3.3 Internal and External Names

Each method declared with public, override, augment, pubment,
overment, augride, public-final, override-final, augment-final,
inherit, inherit/super, inherit/inner, rename-super, and rename-inner
can have separate internal and external names when (internal-id
external-id) is used for declaring the method. The internal name is
used to access the method directly within the class expression
(including within super or inner forms), while the external name is
used with send and generic (see Field and Method Access). If a single
id is provided for a method declaration, the identifier is used for
both the internal and external names.
...
...
Each init, init-field, field, or inherit-field variable similarly has
an internal and an external name.
-----------------------

I'm still unclear how to do this.  If a list member could show me a
simple example of declaring a method and also a field with separate
internal and external names I'd greatly appreciate it.

Harry Spier

Posted on the users mailing list.