[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Why would anyone want opacity?

|   Date: Thu, 09 May 1996 14:51:15 -0400
|   From: Matthias Blume <blume@CS.Princeton.EDU>
|   And I am quite certain (and this is from own experience -- I am a
|   convert on this issue!), that strong typing and abstraction *help*
|   thinking about processes and algorithms.  I have been arguing this for
|   a while now, and others have supported my view.  Maybe it doesn't work
|   for everybody.  But at least in my case I know that I simply *refused*
|   to accept it for a long time, and only when the evidence became
|   overwhelming I finally admitted it to be a truth. (subjectively, of
|   course)

Perhaps so, but I don't see how not having them in a language
precludes you from using them at all.

In particular, assume there were no computers and hence no mechanized
checkers or compilers.  This is often the case when working on a
blackboard or a piece of paper.

You could add or infer as much type information as you wanted to your
program, and analyze it separately from the rest of the program.
Comments would do just fine for declarations (e.g. union types if you
can infer the rest).

Nothing in the language would preclude you from being as paranoid
about your abstractions as you could wish, or thinking in terms of
types.  You could even check them yourself if you wished, but clearly
the language would neither aid nor hinder you.

Thus type checking _should be_ a property of tools, not languages,
since languages make perfect sense in the absence of _any_ mechanized