On Fri, Aug 13, 2010 at 07:32:30PM -0600, John Doty wrote: > > On Aug 13, 2010, at 7:20 PM, DJ Delorie wrote: > > > > >>> But "property" is such a nice, clean, simple building block. Why > >>> pollute it by adding more functionality and making it more complex? > >> > >> Because then you can extend the concept without limit. It's like > >> "function" in mathematics. You can construct functions from > >> functions. But if such constructs were no longer functions, you'd > >> get stuck. > > > > To abuse your analogy, our properties is like "constants" in > > mathematics. Classes would be "functions". > > Except in the proposal, classes cannot be composed of other classes. >
That's a trivial change: jumping from a "class" as a collection of properties to a "class" as collection of properties/classes is an easy mental jump, and conceptually makes sense. Jumping from a "property" as a name-value pair to a "property" as a name-value pair -and- collection of properties, is a big conceptual change. > ... > > > Creating a single object that has to act as both a > > name-value pair *and* an arbitrary container is not a good idea. > > You offer no reasoned support for this opinion. > You're using one word - property - to express two entirely different concepts. Not only is this difficult to think about, it would be almost impossible to program without separating the two behind the scenes. The word "class" is usually a synonym for "set", which is a concept that invites recursion. "Property", however, is usually a synonym for "attribute", something that isn't recursive. That's a very important distinction. You talk about object-classification failing as a method of AI - but what you mean is that it fails for /general/ AI. The specific AI we are talking about - autorouting and autoplacing - already works by classifying its objects (as vias, traces, components, nets, etc). Andrew _______________________________________________ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user