> For a built-in example: Why is chmod a class method of File? Well, > it's because doing a chmod on a file really needs no other information There are many of such examples in the Ruby library. I was a bit surprised at first, at one hand it is practical and simple, on the other hand I wonder if there shouldn't be a FileSystem object where the chmod would be an instance. This is actually what the VBScript object model does. It has a FileSystemObject which occasionally returns a File object when calling methods like create or open. In other type models like ML where you have a module system, it makes sense to have a File module and there File.chmod makes perfectly sense. Here objects are handled as parameters, but all methods belong to the File module. It appears to me that the "File.chmod" solution is sitting somewhere between object and functional models. Not that I really care, because I find the concept useful, as I don't have to instantiate a file system object, but I think there are better examples of class methods, or that class methods aren't really that useful except for shortcutting away from singleton objects and a few lowlevel cases like "garbage collect all instances now". Mikkel