BJörn Lindqvist wrote: > [nice way to declare properties with "make"] > > >>Of course, properties are only one of the many possible uses of the >>make statement. The make statement is useful in essentially any >>situation where a name is associated with a namespace. So, for > > > So far, in this thread that is the only useful use of the make > statement that has been presented. I'd like to see more examples.
In SQLObject I would prefer: class Foo(SQLObject): make IntCol bar: notNull = True In FormEncode I would prefer: make Schema registration: make String name: max_length = 100 not_empty = True make PostalCode postal_code: not_empty = True make Int age: min = 18 In another thread on the python-3000 list I suggested (using : class Point(object): make setonce x: "x coordinate" make setonce y: "y coordinate" For a read-only x and y property (setonce because they have to be set to *something*, but just never re-set). Interfaces are nice: make interface IValidator: make attribute if_empty: """If this attribute is not NoDefault, then this value will be used in lieue of an empty value""" default = NoDefault def to_python(value, state): """...""" Another descriptor, stricttype (http://svn.colorstudy.com/home/ianb/recipes/stricttype.py): class Pixel(object): make stricttype x: type = int make stricttype y: type = int (Both this descriptor and setonce need to know their name if they are going to store their value in the object in a stable location) > It would be really cool if you could go through the standard library, > and replace code there with code using the make statement. I think a > patch showing how much nicer good Python code would be with the make > statement would be a very convincing argument. I don't know if the standard library will have a whole lot; "make" is really only useful when frameworks are written to use it, and there's just not a lot of framework in the standard library. Maybe: make OptionParser myparser: make Option verbose: short = '-v' help = """..."" -- Ian Bicking / [EMAIL PROTECTED] / http://blog.ianbicking.org _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com