What is Expressiveness in a Computer Language

David Hopwood david.nospam.hopwood at blueyonder.co.uk
Thu Jun 22 18:46:02 EDT 2006


Andreas Rossberg wrote:
> 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.

Set theory has no difficulty with this. It's common, for example, to see
"the set of strings representing propositions" used in treatments of
formal systems.

-- 
David Hopwood <david.nospam.hopwood at blueyonder.co.uk>



More information about the Python-list mailing list