> 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