What is Expressiveness in a Computer Language

Pascal Costanza pc at p-cos.net
Mon Jun 19 14:40:05 EDT 2006


Chris Smith wrote:
> Pascal Costanza <pc at p-cos.net> wrote:
>> Types can be represented at runtime via type tags. You could insist on 
>> using the term "dynamically tagged languages", but this wouldn't change 
>> a lot. Exactly _because_ it doesn't make sense in a statically typed 
>> setting, the term "dynamically typed language" is good enough to 
>> communicate what we are talking about - i.e. not (static) typing.
> 
> Okay, fair enough.  It's certainly possible to use the same sequence of 
> letters to mean two different things in different contexts.  The problem 
> arises, then, when Torben writes:
> 
> : That's not really the difference between static and dynamic typing.
> : Static typing means that there exist a typing at compile-time that
> : guarantess against run-time type violations.  Dynamic typing means
> : that such violations are detected at run-time.
> 
> This is clearly not using the word "type" to mean two different things 
> in different contexts.  Rather, it is speaking under the mistaken 
> impression that "static typing" and "dynamic typing" are varieties of 
> some general thing called "typing."  In fact, the phrase "dynamically 
> typed" was invented to do precisely that.  My argument is not really 
> with LISP programmers talking about types, by which they would mean 
> approximately the same thing Java programmers mean by "class."  My point 
> here concerns the confusion that results from the conception that there 
> is this binary distinction (or continuum, or any other simple 
> relationship) between a "statically typed" and a "dynamically typed" 
> language.

There is an overlap in the sense that some static type systems cover 
only types as sets of values whose correct use could as well be checked 
dynamically.

Yes, it's correct that more advanced static type systems can provide 
more semantics than that (and vice versa).


Pascal

-- 
3rd European Lisp Workshop
July 3 - Nantes, France - co-located with ECOOP 2006
http://lisp-ecoop06.bknr.net/



More information about the Python-list mailing list