What is Expressiveness in a Computer Language

Joachim Durchholz jo at durchholz.org
Sun Jun 25 13:33:02 EDT 2006


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.

Regards,
Jo



More information about the Python-list mailing list