What is Expressiveness in a Computer Language

Andreas Rossberg rossberg at ps.uni-sb.de
Thu Jun 22 11:36:36 EDT 2006


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



More information about the Python-list mailing list