What is Expressiveness in a Computer Language

Joachim Durchholz jo at durchholz.org
Mon Jun 26 16:54:53 EDT 2006


Andrew McDonagh schrieb:
> Joachim Durchholz wrote:
>> Chris Smith schrieb:
>>> Joachim Durchholz <jo at durchholz.org> wrote:
>>>> Sorry, I have to insist that it's not me who's stretching terms here.
>>>>
>>>> All textbook definitions that I have seen define a type as the 
>>>> set/operations/axioms triple I mentioned above.
>>>> No mention of immutability, at least not in the definitions.
>>>
>>> The immutability comes from the fact (perhaps implicit in these 
>>> textbooks, or perhaps they are not really texts on formal type 
>>> theory) that types are assigned to expressions,
>>
>> That doesn't *define* what's a type or what isn't!
>>
>> If it's impossible to assign types to all expressions of a program in 
>> a language, that does mean that there's no useful type theory for the 
>> program, but it most definitely does not mean that there are no types 
>> in the program.
>> I can still sensibly talk about sets of values, sets of allowable 
>> operations over each value, and about relationships between inputs and 
>> outputs of these operations.
>>
>> So programs have types, even if they don't have a static type system.
>> Q.E.D.
> 
> Of course not.  Otherwise programs using dynamically  typed systems 
> wouldnt exist.

I don't understand.
Do you mean dynamic typing (aka runtime types)?

> I haven't read all of this thread, I wonder, is the problem to do with 
> Class being mistaken for Type? (which is usually the issue)

No, not at all. I have seen quite a lot beyond OO ;-)

Regards,
Jo



More information about the Python-list mailing list