Marshall wrote: >> >>>What prohibits us from describing an abstract type as a set of values? >> >>If you identify an abstract type with the set of underlying values then >>it is equivalent to the underlying representation type, i.e. there is no >>abstraction. > > I don't follow. Are you saying that a set cannot be described > intentionally? How is "the set of all objects that implement the > Foo interface" not sufficiently abstract? Is it possible you are > mixing in implementation concerns?
"Values" refers to the concrete values existent in the semantics of a programming language. This set is usually infinite, but basically fixed. To describe the set of "values" of an abstract type you would need "fresh" values that did not exist before (otherwise the abstract type would be equivalent to some already existent type). So you'd need at least a theory for name generation or something similar to describe abstract types in a types-as-sets metaphor. - Andreas -- http://mail.python.org/mailman/listinfo/python-list