What is Expressiveness in a Computer Language

Sacha no at address.spam
Fri Jun 16 06:10:17 EDT 2006


"Joachim Durchholz" <jo at durchholz.org> wrote in message 
news:e6tt7j$b41$1 at online.de...
> Raffael Cavallaro schrieb:
>> On 2006-06-14 15:04:34 -0400, Joachim Durchholz <jo at durchholz.org> said:
>>
>>> Um... heterogenous lists are not necessarily a sign of expressiveness. 
>>> The vast majority of cases can be transformed to homogenous lists 
>>> (though these might then contain closures or OO objects).
>>>
>>> As to references to nonexistent functions - heck, I never missed these, 
>>> not even in languages without type inference :-)
>>>
>>> [[snipped - doesn't seem to relate to your answer]]
>>
> Give a heterogenous list that would to too awkward to live in a 
> statically-typed language.

Many lists are heterogenous, even in statically typed languages.
For instance lisp code are lists, with several kinds of atoms and 
sub-lists..
A car dealer will sell cars, trucks and equipment..
In a statically typed language you would need to type the list on a common 
ancestor...
What would then be the point of statical typing , as you stilll need to type 
check
each element in order to process that list ? Sure you can do this in a 
statically-typed
language, you just need to make sure some relevant ancestor exists. In my 
experience
you'll end up with the base object-class more often than not, and that's 
what i call
dynamic typing.

> Give a case of calling nonexistent functions that's useful.

I might want to test some other parts of my program before writing this 
function.
Or maybe will my program compile that function depending on user input.
As long as i get a warning for calling a non-existing function, everything 
is fine.

Sacha 





More information about the Python-list mailing list