It is a different way of thinking about protection, one that is more in line with the way such protections usually happen in Racket.
In a language like Java, the class and the package a class is in both play a role in determining who has access to what, which is why things like 'protected' make sense there. In Racket, we already have the do-it-all notion of protection, namely lexical scope. So define-local-member-name hooks into that protection mechanism to let you do things like what protected achieves, but in a way that matches Racket better. Or, as Matthias puts it: use modules. :) Robby On Wed, May 11, 2011 at 8:35 PM, Mark Engelberg <[email protected]> wrote: > I played around briefly with define-local-member-name but it seemed > like a rather awkward way to achieve "protected"-ness. From the > example in the help desk, it seems like the classes need to have some > sort of let wrapped around them to share a non-public method between > them. It seems like to set things up so that each class shares fields > and methods with subclasses but no outsiders would be quite unwieldy > with many levels of wrapping and scopes that match the inheritance > hierarchy, which would be hard to read and hard to keep track of. Is > it cleaner than I realize to achieve this? > _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users

