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