[Types-sig] recursive types, type safety, and flow analysis

Paul Prescod paul@prescod.net
Wed, 22 Dec 1999 16:09:24 -0600


Greg Stein wrote:
> 
>...
> 
> "Means"? Not at all. I'm only suggesting we watch what happens with the
> types. We have to do that *anyhow* to do the type checking.

I say: "given the name of the thing and the type associated with the
name, we check that the operations are legal." Seems straightforward.
We've been doing it since the 60's.

You say: "given the name of the thing we will intuit a type (often an
anonymous/union type (which I consider confusing)) and then check that
the operations are legal." 

"Classic" type inference works from the operators to figure out what the
types are. "Classic" type checking works from the names to validate the
operators. You want both. I don't think that it will work in practice.
The will be the semantics will be confusing as hell and the error
messages will be totally indecipherable.

I am willing to iteratively open up the design to types of type
inferencing and discovery as time goes by but I don't yet understand
your model well enough to be able to write a specification around it.

 Paul Prescod