What is Expressiveness in a Computer Language

Chris Smith cdsmith at twu.net
Mon Jun 19 16:23:46 EDT 2006


Joe Marshall <eval.apply at gmail.com> wrote:
> 
> Chris Smith wrote:
> >
> > Knowing that it'll cause a lot of strenuous objection, I'll nevertheless
> > interject my plea not to abuse the word "type" with a phrase like
> > "dynamically typed".
> 
> Allow me to strenuously object.  The static typing community has its
> own set of
> terminology and that's fine.  However, we Lisp hackers are not used to
> this terminology.
> It confuses us.  *We* know what we mean by `dynamically typed', and we
> suspect *you* do, too.

I know what you mean by types in LISP.  The phrase "dynamically typed," 
though, was explicitly introduced as a counterpart to "statically 
typed" in order to imply (falsely) that the word "typed" has related 
meanings in those two cases.  Nevertheless, I did not really object, 
since it's long since passed into common usage, until Torben attempted 
to give what I believe are rather meaningless definitions to those 
words, in terms of some mythical thing called "type violations" that he 
seems to believe exist apart from any specific type systems.  
(Otherwise, how could you define kinds of type systems in terms of when 
they catch type violations?)

> > This cleaner terminology eliminates a lot of confusion.
> 
> Hah!  Look at the archives.

I'm not sure what you mean here.  You would like me to look at the 
archives of which of the five groups that are part of this conversation?  
In any case, the confusion I'm referring to pertains to comparison of 
languages, and it's already been demonstrated once in the half-dozen or 
so responses to this branch of this thread.

> >  If types DON'T mean a compile-time method for proving the
> > absence of certain program behaviors, then they don't mean anything at
> > all.
> 
> Nonsense.

Please accept my apologies for not making the context clear.  I tried to 
clarify, in my response to Pascal, that I don't mean that the word 
"type" can't have any possible meaning except for the one from 
programming language type theory.  I should modify my statement as 
follows:

    An attempt to generalize the definition of "type" from programming
    language type theory to eliminate the requirement that they are
    syntactic in nature yields something meaningless.  Any concept of
    "type" that is not syntactic is a completely different thing from
    static types.

Basically, I start objecting when someone starts comparing "statically 
typed" and "dynamically typed" as if they were both varieties of some 
general concept called "typed".  They aren't.  Furthermore, these two 
phrases were invented under the misconception that that are.  If you 
mean something else by types, such as the idea that a value has a tag 
indicating its range of possible values, then I tend to think it would 
be less confusing to just say "type" and then clarify the meaning it 
comes into doubt, rather than adopting language that implies that those 
types are somehow related to types from type theory.

-- 
Chris Smith - Lead Software Developer / Technical Trainer
MindIQ Corporation



More information about the Python-list mailing list