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