> In Ruby or Python everything is an object, every method or function call returns an object, hence everything is a factory, and the term loses its meaning.
I don't think factory is defined as anything that returns an object.
I am not a design pattern buff, but here is what the wiki entry says:
* it deals with the problem of creating objects (products) without specifying the exact class of object that will be created. *
I don't see why it has anything to do with everything being an object.
The Image.open example is factory pattern. It isn't implemented the same way it's implemented for Java/C++, and I wasn't commenting on the implementation; but that doesn't make it not factory.
Similarly, the command pattern, in a language with first-class functions and closures, will be implicit and look nothing like the one implemented in GoF book.
If you are taking the implementation in GoF as the definition, callbacks as we do in Ruby, JS, Python et al. look nothing like command pattern. But the implementation isn't definition, and GoF explicitly mentions it that these patterns aren't the same in all languages.