What is Expressiveness in a Computer Language
Joachim Durchholz
jo at durchholz.org
Mon Jun 26 17:45:27 EDT 2006
Anton van Straaten schrieb:
> Joachim Durchholz wrote:
>> Anton van Straaten schrieb:
>>> There's a close connection between latent types in the sense I've
>>> described, and the "tagged values" present at runtime. However, as
>>> type theorists will tell you, the tags used to tag values at runtime,
>>> as e.g. a number or a string or a FooBar object, are not the same
>>> thing as the sort of types which statically-typed languages have.
>>
>> Would that be a profound difference, or is it just that annotating a
>> value with a full type expression would cause just too much runtime
>> overhead?
>
> It's a profound difference. The issue is that it's not just the values
> that need to be annotated with types, it's also other program terms.
Yes - but isn't that essentially just auxiliary data from and for the
data-flow analysis that tracks what values with what types might reach
which functions?
> In
> addition, during a single run of a program, all it can ever normally do
> is record the types seen on the path followed during that run, which
> doesn't get you to static types of terms. To figure out the static
> types, you really need to do static analysis.
Agreed.
Regards,
Jo
More information about the Python-list
mailing list