the first I heard of traits was indeed I believe from a paper by Stef's group if I recall correctly. So that's exactly what I mean. Nested classes are an organizational and a "structural" construct. A nested class is defined from within an outer class. They are used when a class is only likely to be instantiated (used) from within another class. For example (just an example) , when you instantiate aBody you would want to instantiate two legs but two legs outside the context of a body may not make sense. So that seems of some value. You can also used it to simply group classes i.e. an outer class Drawing, may specify inner classes Line, Circle, Rectangle etc. To instantiate an inner class you need special access syntax in Ruby you would do something like this: aCircle = Drawing::Circle.new ok, that's alright if I'm using nested classes to group. but you can also do this: aLeg = Body::Leg.new but wait I thought you it only made sense to instantiate a Leg from within the context of a body. Anyhow, I sort of have mixed feelings about it i.e. if they are worth the extra overhead. Not to mention that Smalltalk's IDE's are not setup to handle them. File based IDE's of course don't care, they just care about the source representation. -Charles www.nycsmalltalk.org -- View this message in context: http://forum.world.st/Nested-classes-tp3125667p3159802.html Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.