[Types-sig] Types sig dead or alive

Paul Prescod paul@prescod.net
Tue, 07 Dec 1999 09:28:44 -0500


Okay, I am willing to try and lead the types-sig only until the
conference and see if we can try to come up with something concrete as a
proposal. We can circulate that at the conference and get comments. Jim
can at the same time circulate an interfaces proposal.

I am only interested at this point in the static type checking problem.
The first step, I think, is for me to write up my static name checking
proposal and get consensus on that. It would be a syntax for stating
that module namespaces are immutable and that classes and functions only
refer to immutable module namespaces. Another deliverable (probably not
by the conference) would be code that checked that code conforms to
those rules.

At that point we would have a concept of "statically resolvable names."
The next step would be to attach type signatures to statically
resolvable names. I've reconsidered my opinion that Python 2 is our only
concern. We should probably test out our ideas in Python 1.x so that we
can be confident of them for Python 2.

For purposes of checking, a "static type" is a statically resolvable
name of a class. In Python 2, every "type" will also be a class (and
vice versa) so we don't want to spend a lot of energy working around the
class/type dichotomy. When we (later!) reach concensus on the structure
of interfaces, those will also be usable as static types.

There won't be anything (at first) like "list of integers" unless you
create a ListOfIntegers class (which is certainly possible!).

The static type checking system will not declare any existing code
non-conformant. 

I am happy to have interfaces discussions in the sig but I don't want
them to be the *same discussion* because I don't want to recurse into a
meta-discussion about "what is a type system" or "why do we want static
type checking" or "is static type checking as important as interfaces"
etc.

-- 
 Paul Prescod  - ISOGEN Consulting Engineer speaking for himself
Math -- that most logical of sciences -- teaches us that the truth can
be highly counterintuitive and that sense is hardly common.
	K.C.Cole, "The Universe and the Teacup"