On Wed, Oct 3, 2012 at 1:26 PM, Steven D'Aprano < steve+comp.lang.pyt...@pearwood.info> wrote:
> C++ namespaces are useful for encapsulating related objects within a > single file, subdividing the global namespace without using classes. > Python has modules, but they come in separate files. > > Using Python 3.3's ChainMap type, and some metaclass trickery, I abuse > the class keyword to (almost) emulate C++ namespaces: > Very interesting. I like the idea of continuing the namespace meme. My idea of using the builtins (in the prior list thread of "namespaces and modules"), is that if we overhaul the builtins, a unified data model could emerge to incorporate whatever ideas one may have for namespaces (i.e. "enclosures with a name"). My idea was to introduce the compound data type (using a ":" colon to separate two sides), whereby one associates a (*hashable*) "name" with an object ("meals":{"breakfast","lunch","dinner"}) . This has the extra advantage of killing two warts in Python with one stone: {} now is the empty set literal like people are taught, and a set of compounds makes a dictionary (dict now has set operations available), something which, in theory, should simply CPython implementation AND the python environment/API. "expose name" put the dictionary (or whatever type is decided for the rhs) into the builtin/global namespace. I have further thoughts, but that's all I have at the moment.... markj gothenburg, nebraska
-- http://mail.python.org/mailman/listinfo/python-list