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

Re: Typing and semantics [dynamic vs. static typing]




On Dec 17, 2003, at 4:05 PM, Ken Shan wrote:

> On 2003-12-17T15:32:19-0500, John Clements wrote:
>> In Haskell, as I understand it, there are a certain number of cases in
>> which these parts of the program will _not_ be sufficient to determine
>> what's going to happen next.  In particular, I have to examine the 
>> type
>> proof of the program--the whole program--to see how things were
>> resolved in order to figure out what's going to happen next.
>
> Perhaps it is relevant for me to point out that you don't have to
> examine the type proof for the -whole- program to know the operational
> behavior of the expression you are interested in.  You only need to 
> know
> (1) the typing environment, just like in ML, and (2) the type assigned
> to the expression you are interested in.  Item (2) is just as local
> as (1).  For example, in order to know what an occurrence of "read"
> does in a program, I only need to know the typing environment for that
> occurrence of "read" and the type assigned to that "read" 
> subexpression.
> That's the coherence and non-ambiguity guarantee of the type class
> system.

?

Determining (2) can only be done by unification over the whole program, 
no?

Do type classes set up unification boundaries?

thanks,

john