What is Expressiveness in a Computer Language

Ketil Malde ketil+news at ii.uib.no
Mon Jun 26 11:48:40 CEST 2006

Chris Smith <cdsmith at twu.net> writes:

> I've since abandoned any attempt to be picky about use of the word 
> "type".  That was a mistake on my part.  I still think it's legitimate 
> to object to statements of the form "statically typed languages X, but 
> dynamically typed languages Y", in which it is implied that Y is 
> distinct from X.  When I used the word "type" above, I was adopting the 
> working definition of a type from the dynamic sense.  

Umm...what *is* the definition of a "dynamic type"?  In this thread
it's been argued from tags and memory representation to (almost?)
arbitrary predicates.  

> That is, I'm considering whether statically typed languages may be
> considered to also have dynamic types, and it's pretty clear to me
> that they do. 

Well, if you equate tags with dynamic types:

        data Universal = Str String | Int Integer | Real Double 
                         | List [Universal] ...

A pattern match failure can then be seen as a dynamic type error.

Another question is how to treat a system (and I think C++'s RTTI
qualifies, and probably related languages like Java) where static type
information is available at runtime.  Does this fit with the term
"dynamic typing" with "typing" in the same sense as "static typing"?

If I haven't seen further, it is by standing in the footprints of giants

More information about the Python-list mailing list